2012-08-14 17 views
5

Recientemente he tenido que pagar un proyecto de apache para hacer algún descubrimiento de hechos/depuración (específicamente maven-surefire-plugin, vea this question). Esto, al igual que la mayoría de los otros proyectos de apache, es un proyecto multi-módulo de Maven. Entonces, en eclipse, abro el Repositorios SVN navegador, agrego un nuevo repositorio, encuentro el proyecto y right-click->Checkout.... En el asistente, hago clic en Checkout as a project in the workspace y escribo el nombre del proyecto.Eclipse m2e proyecto multi-módulo pago y conversión a maven

Tengo el proyecto, ahora tengo que dejar que eclipse sepa que es un proyecto de maven, así que right-click->Configure->Convert to Maven Project. Ahora el proyecto principal es un proyecto maven. Puedo right-click->Run As->Maven Build y funciona. Pero, todos los módulos son solo carpetas. Eclipse no sabe nada sobre dónde está el código fuente o incluso si tiene alguno. En un proyecto de módulo único, habría establecido automáticamente la carpeta de origen, la carpeta de compilación y otra configuración. Además, si está creando un proyecto de varios módulos desde cero, comienza creando el proyecto principal, luego, cuando agrega módulos, se muestran como proyectos individuales en eclipse con el directorio físico que vive bajo el proyecto principal carpeta según sea necesario por el proceso de creación maven predeterminado.

Así que ahora, sabiendo como se hace cuando se crean nuevos proyectos que puedo File->New->Project..., elija General->Project, dar un nombre al proyecto (I hacerlo coincidir con el nombre del módulo), desactive Use default location y establecer Location: a la ruta al módulo interior de la carpeta del proyecto principal. Después de hacer clic en Finish, y repetir el proceso para cada otro módulo, tengo algo que se parece a lo que esperaría. Ahora necesito convertir cada módulo individual a un módulo maven de la misma manera que el proyecto principal. Genial, todos son proyectos maven, ¿verdad?

Entonces, los abro y la carpeta de origen no está configurada.

Argh ... Luego voy a cada proyecto, lo abro y en la carpeta src I right-click->Build Path->Use as Source Folder. Enjabona, enjuaga, repite ... Una vez hecho en todos los proyectos, realmente se ve y se siente como si comenzara este proyecto desde cero. Las cosas funcionan

Mi pregunta es, ¿es realmente así de difícil? ¿Me estoy perdiendo un atajo? ¿No tendría sentido si Configure->Convert to Maven Project en el pom padre se dio cuenta de que era un proyecto de varios módulos y me hizo todo el trabajo? Este es un proceso muy doloroso para los proyectos de Apache ya que todos parecen tener muchos, muchos módulos ... ¿Alguien sabe de un mejor proceso?

Respuesta

3

Puede tratar de extraer todo el código fuera de Eclipse, importar el proyecto principal como un proyecto Maven existente (right-click -> Import... -> Existing Maven Projects) y ver si todo sale como lo espera. Luego, right-click -> Team -> Share Project... en el proyecto principal.

+0

Esto realmente funciona. Doloroso, pero funciona Tienen un 'Checkout as Maven Project' que supongo que lo haría en un solo paso pero parece que no funciona en índigo (https://groups.google.com/a/openmrs.org/forum/? fromgroups #! topic/dev/HOdx65D3h2U [1-25]). También vale la pena señalar, esto tomó alrededor de 3 horas para completar para el proyecto Apache Surefire (el padre del maven-surefire-plugin) ... – Lucas

Cuestiones relacionadas