Risposte:
Vedi il plugin exec maven . È possibile eseguire le classi Java utilizzando:
mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...
L'invocazione può essere semplice come mvn exec:java
se la configurazione del plugin fosse nel tuo pom.xml. Il sito dei plugin su Mojohaus ha un esempio più dettagliato .
<project>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>com.example.Main</mainClass>
<arguments>
<argument>argument1</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
</project>
Aggiungi la seguente proprietà in pom.xml
. Assicurati di utilizzare il nome di classe completo (ovvero con il nome del pacchetto) che contiene il main
metodo:
<properties>
<exec.mainClass>fully-qualified-class-name</exec.mainClass>
</properties>
Ora dal terminale, attiva il seguente comando:
mvn clean compile exec:java
NOTA È possibile passare ulteriori argomenti tramite -Dexec.args="xxx"
flag.
Le risposte sopra menzionate sono corrette, ma lo sto semplificando per nessuno come me. Vai al file pom del tuo progetto. Aggiungi una nuova proprietà exec.mainClass
e specifica il suo valore come classe che contiene il tuo metodo principale. Per me era DriverClass
dentro mainpkg
. Modificalo secondo il tuo progetto.
Fatto ciò, vai alla cartella che contiene il tuo progetto pom.xml
ed eseguilo sul prompt dei comandi mvn exec:java
. Questo dovrebbe chiamare il metodo principale.
Non è necessario aggiungere un nuovo plug-in in pom.xml. Basta eseguire questo comando
mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)'
Vedi il plugin maven exec per un maggiore utilizzo.
-Dexec.args="...arg..."
Dare l'Exec Maven plug-in una prova
clean package exec:java -P Class_Containing_Main_Method
Il comando è anche un'opzione se hai un solo metodo Main (PSVM) nel progetto, con il seguente Setup Maven.
Non dimenticare di menzionare la classe nella <properties></properties>
sezione di pom.xml
:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.main.class>com.test.service.MainTester</java.main.class>
</properties>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>${java.main.class}</mainClass>
</configuration>
</plugin>
STS Run Configuration insieme a Maven Setup sopra:
-P
è per il profilo. Condiviso questo, in quanto è anche un'opzione per l'esecuzione del progetto Maven.