maven-2 - proyecto - maven tutorial pdf
¿Cómo ejecuto un programa usando Maven? (2)
Con la configuración global que ha definido para el complemento exec-maven:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<mainClass>org.dhappy.test.NeoTraverse</mainClass>
</configuration>
</plugin>
invocando a mvn exec:java
en la línea de comando invocará el complemento que está configurado para ejecutar la clase org.dhappy.test.NeoTraverse
.
Por lo tanto, para activar el complemento desde la línea de comando, solo ejecuta:
mvn exec:java
Ahora, si desea ejecutar el objetivo de exec:java
como parte de su compilación estándar, deberá vincular el objetivo a una fase particular del ciclo de vida predeterminado . Para hacerlo, declare la phase
a la que desea vincular el objetivo en el elemento de execution
:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>my-execution</id>
<phase>package</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>org.dhappy.test.NeoTraverse</mainClass>
</configuration>
</plugin>
Con este ejemplo, su clase se ejecutará durante la fase del package
. Esto es solo un ejemplo, adáptelo a sus necesidades. Funciona también con la versión 1.1 del complemento.
Me gustaría que un objetivo de Maven desencadene la ejecución de una clase Java. Estoy intentando migrar a través de un Makefile
con las líneas:
neotest:
mvn exec:java -Dexec.mainClass="org.dhappy.test.NeoTraverse"
Y me gustaría que mvn neotest
produzca lo que make neotest
haga actualmente.
Ni la documentación del complemento ejecutivo ni las páginas de tareas de Maven Ant tenían ningún tipo de ejemplo directo.
Actualmente, estoy en:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions><execution>
<goals><goal>java</goal></goals>
</execution></executions>
<configuration>
<mainClass>org.dhappy.test.NeoTraverse</mainClass>
</configuration>
</plugin>
Sin embargo, no sé cómo desencadenar el complemento desde la línea de comandos.
Para ejecutar múltiples programas, también necesitaba una sección de profiles
:
<profiles>
<profile>
<id>traverse</id>
<activation>
<property>
<name>traverse</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<executable>java</executable>
<arguments>
<argument>-classpath</argument>
<classpath/>
<argument>org.dhappy.test.NeoTraverse</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
Esto es ejecutable como:
mvn exec:exec -Dtraverse