Comment puis-je exécuter un programme à l'aide de Maven?
Je voudrais avoir un Maven but de déclencher l'exécution d'une classe java. Je suis en train de migrer sur un Makefile
avec les lignes:
neotest:
mvn exec:java -Dexec.mainClass="org.dhappy.test.NeoTraverse"
Et je voudrais mvn neotest
à produire ce make neotest
le fait aujourd'hui.
Ni le exec plugin documentation ni la Maven Ant tâches pages avait toute sorte de simple exemple.
Actuellement, je suis à:
<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>
Je ne sais pas comment déclencher le plug-in à partir de la ligne de commande, si.
Vous devez vous connecter pour publier un commentaire.
Avec le configuration globale que vous avez défini pour l'exec-maven-plugin:
invoquant
mvn exec:java
sur la ligne de commande appeler le plugin qui est configuré pour exécuter la classeorg.dhappy.test.NeoTraverse
.Donc, pour déclencher le plug-in à partir de la ligne de commande, exécutez simplement:
Maintenant, si vous voulez exécuter le
exec:java
objectif dans le cadre de votre version standard, vous aurez besoin de lier l'objectif à un particulier phase de la par défaut le cycle de vie. Pour ce faire, déclarer laphase
à laquelle vous souhaitez lier le but dans laexecution
élément:Avec cet exemple, votre classe sera exécuté au cours de la
package
phase. C'est juste un exemple, à adapter en fonction de vos besoins. Fonctionne aussi avec le plugin de la version 1.1.exec:java
peut être utilisé pour la Scala et Clojure code ainsi, il n'a pas à être le code Java en soi.Pour l'exécution de plusieurs programmes, j'ai aussi besoin d'un
profiles
section:C'est ensuite l'exécutable en tant:
<argument>-classpath</argument><classpath />
ligne? Je ne pense pas que c'est correct.<classpath />
balise est arrivé là par erreur et doit être supprimé. De sorte que la ligne devrait ressembler juste:<argument>-classpath</argument>