Frage
Gibt es eine Maven „Phase“ oder „Ziel“, einfach die wichtigste Methode einer Java-Klasse ausführen? Ich habe ein Projekt, das ich einfach tun so etwas wie „mvn run“ manuell testen möchte.
Lösung
Sehen Sie die rel="noreferrer">. Sie können Java-Klassen ausgeführt werden:
mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...
Der Aufruf kann so einfach wie mvn exec:java
sein, wenn die Plugin-Konfiguration in Ihrem pom.xml ist. Die Plug-Website auf Mojohaus hat ein Beispiel .
<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>
Andere Tipps
Die oben genannten Antworten sind richtig, aber ich bin vereinfacht es für noobs wie me.Go Ihres Projekts pom-Datei. Fügen Sie eine neue Eigenschaft exec.mainClass
und gibt ihren Wert als die Klasse, die Ihre Hauptmethode enthält. Für mich war es in DriverClass
mainpkg
. Ändern Sie es nach Ihrem Projekt.
Nachdem diese zu dem Ordner getan, dass Ihr Projekt pom.xml
enthält und diese Aufforderung mvn exec:java
auf den Befehl ausführen. Dies sollte die Haupt-Methode aufrufen.
1. Bearbeiten pom.xml
Fügen Sie die folgende Eigenschaft in pom.xml
. Stellen Sie sicher, dass Sie die vollständig qualifizierten Klassennamen verwenden (das heißt mit Paketnamen), die die main
Methode enthält:
<properties>
<exec.mainClass>${fully-qualified-class-name}</exec.mainClass>
</properties>
2. Run Command
Jetzt vom Terminal auslösen den folgenden Befehl ein:
mvn clean compile exec:java
Hinweis Sie weitere Argumente über -Dexec.args="xxx"
Flagge passieren können.
Geben Sie das Exec Maven Plugin einen try
Keine Notwendigkeit, neues Plugin in pom.xml hinzuzufügen. Führen Sie einfach diesen Befehl
mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)'
Sehen Sie die Maven Exec Plugin mehr Verwendung.
clean package exec:java -P Class_Containing_Main_Method
Befehl ist auch eine Option, wenn Sie nur eine Methode Main (PSVM) in dem Projekt, mit dem folgenden Maven-Setup haben.
Vergessen Sie nicht, die Klasse im <properties></properties>
Abschnitt pom.xml
zu erwähnen:
<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 zusammen mit über Maven Setup: