Gibt es eine Maven "Phase" oder "Ziel", um einfach die Hauptmethode einer Java-Klasse auszuführen? Ich habe ein Projekt, das ich manuell testen möchte, indem ich einfach etwas wie "mvn run" mache.Maven Run Projekt
Antwort
Siehe exec maven plugin. Sie können Java-Klassen laufen mit:
mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...
Der Aufruf ein einfaches wie mvn exec:java
sein kann, wenn die Plugin-Konfiguration in Ihrem pom.xml ist. Die Plugin-Seite auf Mojohaus hat eine more detailed example.
<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>
Geben Sie die Exec Maven plugin einen Versuch
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-Konfiguration zusammen mit über Maven Setup:
Die oben genannten Antworten sind richtig aber ich vereinfache es für Anfänger wie mich.Gehen Sie auf die Pom-Datei Ihres Projekts. Fügen Sie eine neue Eigenschaft exec.mainClass
hinzu und geben Sie ihren Wert als die Klasse an, die Ihre Hauptmethode enthält. Für mich war es DriverClass
in mainpkg
. Ändern Sie es gemäß Ihrem Projekt.
Nachdem diese zu dem Ordner getan, dass Ihr Projekt enthält pom.xml
und diese mvn exec:java
an der Eingabeaufforderung ausführen. Dies sollte die Hauptmethode aufrufen.
Keine Notwendigkeit, neues Plugin in pom.xml hinzuzufügen. Führen Sie einfach diesen Befehl aus
mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)'
Siehe maven exec plugin für mehr Verwendung.
Übergeben Sie weitere Argumente über '-Dexecs.args =" ... arg ... "' – sstn
exec: Java hat nichts für mich getan, aber exec: exec hat den Trick gemacht. –
So sollte eine Antwort aussehen! Referenz + einfaches Beispiel + komplexes Beispiel. das einfache Beispiel hat den Trick für mich (keine Konfiguration mehr benötigt) – codewing
gibt es eine neuere Version dieses Plugins (neuer als 1.2.1?) –