2009-10-01 12 views

Respuesta

4

La forma Maven para "activar" otra construcción es definir un multi-module build. Un proyecto pom padre puede especificar los módulos, que todo ser construido usando el ciclo de vida estándar. Entonces, ejecutar mvn install en la matriz significaría que cada módulo se construye a su vez.

El padre está definida con pom packagin, y tendría una declaración módulos de la siguiente manera:

<modules> 
    <module>module-a</module> 
    <module>module-b</module> 
</modules> 

Alternativamente, es posible unir artefactos adicionales a una compilación por lo que se despliegan junto con los artefactos primarios (suponiendo que ya hemos sido empaquetado, se puede utilizar el un archivo arbitrario build-helper-maven-plugin a attach a su pom, por lo que será desplegado con el clasificador especificado. la siguiente configuración adjuntará el archivo especificado como my-artifact-1.0-extra.jar

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>build-helper-maven-plugin</artifactId> 
    <version>1.3</version> 
    <executions> 
     <execution> 
     <id>attach-artifacts</id> 
     <phase>package</phase> 
     <goals> 
      <goal>attach-artifact</goal> 
     </goals> 
     <configuration> 
      <artifacts> 
      <artifact> 
       <file>/path/to/extra/file.jar</file> 
       <type>jar</type><!--or specify your required extension--> 
       <classifier>extra</classifier> 
      </artifact> 
      </artifacts> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 
4

Como se señaló, la forma más fácil de lanzar un objetivo (digamos mvn install) en un conjunto de módulos es organizarlos como un proyecto de varios módulos y lanzar el objetivo en el pom padre. Detrás de la escena, Maven usará un "reactor Maven" para este trabajo. El reactor calculará el orden de construcción haciendo un tipo topológico de los nodos del gráfico dirigido construido por la relación de dependencia entre módulos. Este gráfico se construye mirando <modules> y <dependencies> etiquetas en poms.

Pero el lanzamiento experta de un padre no es la única opción y experta ofrece más posibilidades para jugar con el reactor (por ejemplo, hacer un proyecto y sus dependencias o aquellos que dependen de él):

comprobar que funciona, que podría ayudarle a alcanzar su meta.

Cuestiones relacionadas