Existe-t-il une “phase” ou un “objective” Maven pour exécuter simplement la méthode principale d’une classe Java? J’ai un projet que je voudrais tester manuellement en faisant simplement quelque chose comme “mvn run”.
Voir le plugin exec maven . Vous pouvez exécuter des classes Java en utilisant:
mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...
L’invocation peut être aussi simple que mvn exec:java
si la configuration du plug-in se trouve dans votre fichier pom.xml. Le site du plugin sur Mojohaus a un exemple plus détaillé .
org.codehaus.mojo exec-maven-plugin 1.2.1 com.example.Main argument1
Les réponses mentionnées ci-dessus sont correctes mais je le simplifie pour les personnes comme moi. Accédez au fichier pom de votre projet. Ajoutez une nouvelle propriété exec.mainClass
et donnez sa valeur en tant que classe contenant votre méthode principale. Pour moi, c’était DriverClass
dans mainpkg
. Changez-le selon votre projet.
Après avoir fait cela, accédez au dossier contenant le pom.xml
votre projet et exécutez-le à l’invite de commande mvn exec:java
. Cela devrait appeler la méthode principale.
Essayez le plug – in Exec Maven
Pas besoin d’append un nouveau plugin dans pom.xml. Il suffit de lancer cette commande
mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)'
Voir le plugin maven exec pour plus d’utilisation.
Ajoutez la propriété suivante dans pom.xml
, veillez à utiliser le nom de classe complet (c’est-à-dire avec le nom du package) qui contient la méthode main
.
${fully-qualified-class-name}
Maintenant, à partir du déclencheur de terminal suivant la commande –
mvn clean comstack exec:java
NOTE Vous pouvez transmettre d’autres arguments via l’ -Dexec.args="xxx"
clean package exec:java -P Class_Containing_Main_Method
commande clean package exec:java -P Class_Containing_Main_Method
est également une option si vous n’avez qu’une seule méthode principale (PSVM) dans le projet, avec la configuration Maven suivante.
N’oubliez pas de mentionner la classe dans la section
de pom.xml
:
UTF-8 com.test.service.MainTester org.codehaus.mojo exec-maven-plugin 1.2.1 ${java.main.class}
STS Run Configuration avec Maven Setup ci-dessus: