2010-03-05 25 views
7

Si tengo 6 módulos en mi proyecto ¿es posible construir solo uno de seis? sin comentar a los demás?multi-module maven project

EDITAR

submódulo no funcionará itselft porque ya los padres las etiquetas. Necesito instalar el padre primero para hacerlo construir. ¿Cómo puedo hacerlo sin instalar el padre

Respuesta

10

¿es posible construir solo uno de seis? sin comentar a los demás?

Según tengo entendido, desea iniciar maven desde el proyecto de agregación (es decir, una construcción de reactor) pero solo compilar un módulo. Esto es posible mediante la opción -pl, --projectslista de proyectos (ver advanced reactor options):

mvn --projects my-submodule install 

Esta es una opción muy poderosa, especialmente cuando se combina con --aslo-make (para construir también los proyectos en los que los módulos listados depend) o --also-make-dependents (para construir también los proyectos que dependen de los módulos enumerados). Sobre la base de su actualización, es posible que desee esta realidad:

mvn --projects my-submodule --also-make install 

Lanzamiento de Maven desde el directorio del módulo que se quiere construir es por supuesto una opción, pero esto no le permitirá hacer las cosas mencionadas anteriormente ni para construir un subconjunto de todos los módulos. Para tales casos de uso, las opciones de reactores avanzados son el camino a seguir.

3

Abrir un shell de comandos, navegar al directorio del submódulo y ejecutar mvn install (o cualquiera que sea su ciclo de vida preferido) debería hacer el truco.

+1

+1 Por el enfoque simple. – Robin

+0

@ Péter Török He actualizado mi pregunta ... sus soluciones son las más simples hasta el momento ... No puedo construir el submódulo ... Necesito instalar primero el elemento primario porque el submódulo no funcionará en sí porque etiquetas padre. –

+0

@Gandalf StormCrow Esa es una historia más complicada entonces ... Me aparto para ver humildemente @Pascal realizar su magia :-) –

2

Puede simplemente construir el módulo yendo a este directorio de módulos y ejecutar el mvn clean install.

Sin embargo, tenga en cuenta que con este método, las dependencias con los demás módulos se tomarán de su repositorio local (o del repositorio empresarial).

Tomemos un ejemplo sencillo:

project 
    + commons 
    + business 

Ahora, imagine que usted construye, en el directorio raíz todo el proyecto, con el comando mvn clean install. Tenga en cuenta que todos sus módulos están en la versión 1.0.

Ahora, pasa a la versión 1.1. Si ejecuta el mvn clean install solo en el proyecto business, intentará obtener el 1.1 del módulo commons. Entonces tendrá un error, ya que Maven no encontrará ninguna versión 1.1 en su repositorio local.

0

Dentro de Eclipse, suponiendo que tiene instalado m2eclipse: Haga clic derecho en el módulo en cuestión y seleccione Ejecutar como -> paquete Maven.