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.

War es hilfreich?

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. eingeben Bild Beschreibung hier

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:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top