2011-11-07 9 views
16

Me está resultando difícil ver el "bosque a través de los árboles" en algunos conceptos de Maven aquí. Entiendo que Maven viene preconfigurado con una serie de las llamadas "Build Lifecycle Phases" que comienzan con validate y test y terminan con deploy.Maven: Relación entre la fase del ciclo de vida y el objetivo

Vengo a Maven desde Ant, donde organizó las principales etapas de compilación en objetivos (que pueden depender de otros objetivos de forma lineal), y luego descompone sus objetivos en tareas de procedimiento. Maven parece apoyar esto, pero en la forma de objetivos.

Mi pregunta (dado que estoy acostumbrado a construir en términos de objetivos y tareas) es: ¿cómo se relacionan estas fases del ciclo de vida (package, verify, etc.) con los objetivos? ¿Se necesita configurar qué objetivos ejecutar en qué fase, o esto lo hace Maven de forma automática?

O, ¿los objetivos vienen predefinidos con qué fase pertenecen?

Simplemente no veo cómo uno ordena objetivos para crear una compilación personalizada que funcione para ellos o para su organización.

¡Gracias de antemano por su claridad!

+0

Ver [mi respuesta] (http://stackoverflow.com/a/30953905/1744774) a _Maven: Ciclo de vida vs. Fase vs. Complemento vs. Meta_ de lo que se trata con las entidades nombradas. –

Respuesta

11

Muchos plugins de Maven vinculan objetivos específicos (mojo) a una fase específica del ciclo de vida.

E.g. busca documentation of maven-jar-plugin:jar goal. Dice:

Se enlaza de forma predeterminada a la fase del ciclo de vida: paquete.

Además, el ciclo de vida está especificando qué herramientas deben ejecutarse para cada fase. Para los tipos de empaque predeterminados, estas herramientas están predefinidas por Maven y se explican aquí ->http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Built-in_Lifecycle_Bindings.

Pero este ejemplo muestra cómo crear un enlace de ciclo de vida totalmente personalizado ->http://www.sonatype.com/people/2009/08/create-a-customized-build-process-in-maven/. Como puede ver, puede vincular cualquier combinación de objetivos de complemento a una fase específica del ciclo de vida.

Por último, pero no menos importante, puede agregar la ejecución del complemento manualmente a través del elemento build/plugins de su archivo pom. Si lo hace, los complementos en fases específicas se ejecutarán en una orden FIFO.

Además, puede ayudarlo a ver el Effective POM con todos estos valores predeterminados detallados. Muchos la oferta del IDE esta opción para proyectos de Maven, pero también se puede ver pom efectiva a partir de la línea de comandos:

mvn help:effective-pom 
+0

muchas gracias por la respuesta y los enlaces útiles! – IAmYourFaja

Cuestiones relacionadas