Eclipse, WTP y m2eclipse

Si tus ingredientes son: Eclipse, Web Tool Platform (WTP), m2eclipse y un proyecto modelado con maven y con varios módulos, quizás te has encontrado con el problema de que tu aplicación web no se lanza correctamente.  Usando m2eclipse puedes importar tu proyecto maven a Eclipse creando un proyecto para cada uno de los módulos. Uno de ellos corresponderá con tu webapp, en mi caso opina-webapp.

Es probable que cuando lances tu aplicación con WTP (p.e. con Apache Tomcat) no se encuentren las librerías y salten excepciones ClassNotFound. Esto se debe a que el proyecto Eclipse que contiene tu aplicación web (webapp) no está incluyendo (en tiempo de ejecución) las librerías que tu has definido previamente como dependencias del proyecto. Para resolver esto, accedemos a las propiedades del proyecto (webapp), J2EE Modules Dependencies y seleccionados:

  1. Maven Dependencies (declaradas en el POM de este módulo, más las heredadas del POM padre).
  2. En mi caso además tuve que incluir:
    1. opina-model (modelo de datos)
    2. opina-dao (capa de acceso a datos)

Ahí queda esta nota por si a alguien le pasa. Supongo que si me hubiera leído documentación de m2eclipse esto no me hubiera pasado.

6 thoughts on “Eclipse, WTP y m2eclipse

  1. Hola Manu, esto mismo me ocurrió hace tiempo en un proyecto con varios módulos, en mi caso no usaba m2eclipse, sino directamente el plugin de eclipse para maven desde consola.

    La solución fue ejecutar ‘mvn eclipse:eclipse’ desde el módulo webapp del proyecto, esto genera un proyecto eclipse en el que ya se incluyen como dependencias las librerías de los otros módulos definidos en el POM del proyecto, es decir, lo que tú indicas en el paso 2 😉

    Un saludo.

  2. Hola Sergio:

    Así es como lo hacía antes pero quería probar m2eclipse y pensé que no sería conveniente mezclar m2eclipe y el plugin de maven para Eclipse. El caso es que tal y como tengo configurado el proyecto ahora estoy bien. No tengo que instalar la librerías en el repositorio para que otros módulos se enteren de los cambios.

    Un saludo

  3. Muy buenas, os quiero plantear una duda que me ha surgido estos últimos días, es de si cambiarme de q4e a m2eclipse. La razón es que me cabrea mucho perder tiempo, y últimamente he tenido que estar haciendo cambios en poms de un proyecto multi módulo bastante grande. Y cada uno de esos cambios, implicaba que al eclipse con el q4e, se quedara muerto un rato mientras que se hace una idea de lo que ha pasado con sus dependencias, cuando no se le va la pinza y pierde las librerías del Maven classpath que crea en cada proyecto. Así que lo que me gustaría saber es ¿cómo se comporta el m2eclipse cada vez que se realizan cambios en los poms de sus proyectos?, ¿se propagan bien las dependencias que vienen de proyectos superiores?

    Un saludo

  4. Pingback: Mi espacio » J2EE Modules Dependencies ha desaparecido

Leave a Reply

Your email address will not be published. Required fields are marked *