Domanda

Esiste una "fase" o un "obiettivo" di Maven per eseguire semplicemente il metodo principale di una classe Java?Ho un progetto che vorrei testare manualmente semplicemente facendo qualcosa come "mvn run".

È stato utile?

Soluzione

Vedere la exec Maven plug . È 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 è nel vostro pom.xml. Il sito plugin su Mojohaus ha un più dettagliate esempio .

<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>

Altri suggerimenti

Le risposte di cui sopra sono corretti ma sto semplificando per niubbi come me.Go in file pom del progetto. Aggiungere un nuovo exec.mainClass proprietà e dare il suo valore come la classe che contiene il metodo principale. Per me è stato DriverClass in mainpkg. Cambiarlo secondo il vostro progetto. entrare image description qui

Dopo aver fatto questo Passare alla cartella che contiene pom.xml del progetto ed eseguire questo sul prompt dei comandi mvn exec:java. Questo dovrebbe chiamare il metodo principale.

1.Modifica POM.xml

Aggiungi la seguente proprietà in pom.xml.Assicurati di utilizzare il nome della classe completo (ad es.con il nome del pacchetto) che contiene il file main metodo:

<properties>
        <exec.mainClass>${fully-qualified-class-name}</exec.mainClass>
</properties>

2.Esegui comando

Ora dal terminale, esegui il seguente comando:

mvn clean compile exec:java

NOTA Puoi passare ulteriori argomenti tramite -Dexec.args="xxx" bandiera.

Dare il Exec Maven plug una prova

Non c'è bisogno di aggiungere nuovi plugin nella 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+:)' 

Vedere la Maven plug-exec più l'utilizzo.

comando clean package exec:java -P Class_Containing_Main_Method è anche un opzione se si dispone di un solo metodo Main (PSVM) nel progetto, con la seguente configurazione Maven.

Non dimenticare di menzionare la classe nella sezione <properties></properties> 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 configurazione di esecuzione con sopra Setup Maven:

entrare descrizione dell'immagine qui

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top