Odpowiedzi:
Zobacz wtyczkę exec maven . Możesz uruchamiać klasy Java za pomocą:
mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...
Wywołanie może być tak proste, mvn exec:java
jakby konfiguracja wtyczki znajdowała się w pliku pom.xml. Witryna wtyczek na Mojohaus ma bardziej szczegółowy przykład .
<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>
Dodaj następującą właściwość w pom.xml
. Upewnij się, że używasz w pełni kwalifikowanej nazwy klasy (tj. Z nazwą pakietu), która zawiera main
metodę:
<properties>
<exec.mainClass>fully-qualified-class-name</exec.mainClass>
</properties>
Teraz z terminalu uruchom następujące polecenie:
mvn clean compile exec:java
UWAGA Możesz przekazać kolejne argumenty za pomocą -Dexec.args="xxx"
flagi.
Powyższe odpowiedzi są poprawne, ale upraszczam je dla noobów takich jak ja. Przejdź do pliku pom twojego projektu. Dodaj nową właściwość exec.mainClass
i podaj jej wartość jako klasę, która zawiera główną metodę. Dla mnie to było DriverClass
w mainpkg
. Zmień to zgodnie z projektem.
Po wykonaniu tej czynności przejdź do folderu zawierającego projekt pom.xml
i uruchom go w wierszu polecenia mvn exec:java
. To powinno wywołać główną metodę.
Nie ma potrzeby dodawania nowej wtyczki do pom.xml. Po prostu uruchom to polecenie
mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)'
Zobacz wtyczkę maven exec, aby uzyskać więcej informacji.
-Dexec.args="...arg..."
Daj Exec Maven Plugin spróbować
clean package exec:java -P Class_Containing_Main_Method
polecenie jest również opcją, jeśli masz tylko jedną metodę główną (PSVM) w projekcie, z następującą instalacją Maven.
Nie zapomnij wspomnieć o klasie w <properties></properties>
sekcji 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>
Konfiguracja uruchamiania STS wraz z powyższą konfiguracją Maven:
-P
dotyczy profilu. Udostępniłem to, ponieważ jest to również opcja uruchomienia projektu Maven.