Comment puis-je exécuter un programme en utilisant Maven?

Je voudrais avoir un objective Maven pour déclencher l’exécution d’une classe Java. J’essaie de migrer sur un Makefile avec les lignes:

 neotest: mvn exec:java -Dexec.mainClass="org.dhappy.test.NeoTraverse" 

Et je voudrais que mvn neotest produise ce que make neotest actuellement.

Ni la documentation du plug-in exec ni les pages de tâches Ant de Maven ne comportaient un exemple simple.

Actuellement, je suis à:

  org.codehaus.mojo exec-maven-plugin 1.1  java   org.dhappy.test.NeoTraverse   

Je ne sais pas comment déclencher le plug-in à partir de la ligne de commande.

Avec la configuration globale que vous avez définie pour le plugin exec-maven:

  org.codehaus.mojo exec-maven-plugin 1.4  org.dhappy.test.NeoTraverse   

invoquer mvn exec:java sur la ligne de commande invoquera le plug-in configuré pour exécuter la classe org.dhappy.test.NeoTraverse .

Donc, pour déclencher le plug-in à partir de la ligne de commande, exécutez simplement:

 mvn exec:java 

Maintenant, si vous souhaitez exécuter l’objective exec:java dans le cadre de votre version standard, vous devez associer l’objective à une phase particulière du cycle de vie par défaut . Pour ce faire, déclarez la phase à laquelle vous souhaitez lier l’objective dans l’élément d’ execution :

  org.codehaus.mojo exec-maven-plugin 1.4   my-execution package  java     org.dhappy.test.NeoTraverse   

Avec cet exemple, votre classe serait exécutée pendant la phase du package . Ceci n’est qu’un exemple, adaptez-le à vos besoins. Fonctionne également avec la version 1.1 du plugin.

Afin d’exécuter plusieurs programmes, j’avais aussi besoin d’une section de profiles :

   traverse   traverse      org.codehaus.mojo exec-maven-plugin  java  -classpath  org.dhappy.test.NeoTraverse        

Ceci est alors exécutable comme:

 mvn exec:exec -Dtraverse