Pregunta
¿Hay una "fase" Maven o "meta" para ejecutar simplemente el principal método de una clase Java? Tengo un proyecto que me gustaría probar manualmente por el simple hecho de hacer algo así como "mvn plazo".
Solución
Vea la plugin de ejecución Maven . Puede ejecutar las clases Java usando:
mvn exec:java -Dexec.mainClass="com.example.Main" [-Dexec.args="argument1"] ...
La invocación puede ser tan simple como mvn exec:java
si la configuración del plug-in está en su pom.xml. El sitio de plugin en Mojohaus tiene una más detallada ejemplo .
<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>
Otros consejos
Las respuestas antes mencionadas son correctas, pero estoy simplificando para noobs como me.Go a pom archivo de su proyecto. Añadir un nuevo exec.mainClass
propiedad y darle su valor como la clase que contiene el método main. Para mí fue DriverClass
en mainpkg
. Cambiarlo según su proyecto.
Una vez hecho esto navegar a la carpeta que contiene pom.xml
de su proyecto y ejecutar esto en la línea de comandos mvn exec:java
. Esto debe llamar al método principal.
1. Editar pom.xml
Añadir la siguiente propiedad en pom.xml
. Asegúrese de que utiliza el nombre de clase completo (es decir, con el nombre del paquete) que contiene el método main
:
<properties>
<exec.mainClass>${fully-qualified-class-name}</exec.mainClass>
</properties>
2. Ejecutar comando
Ahora desde el terminal, desencadenar el siguiente comando:
mvn clean compile exec:java
Nota: Puede pasar más argumentos a través de la bandera -Dexec.args="xxx"
.
de ejecución Maven plugin de intentarlo
No es necesario añadir nuevo plugin en pom.xml. Sólo tiene que ejecutar este comando
mvn org.codehaus.mojo:exec-maven-plugin:1.5.0:java -Dexec.mainClass="com.example.Main" | grep -Ev '(^\[|Download\w+:)'
Vea la href="http://www.mojohaus.org/exec-maven-plugin/usage.html" rel="noreferrer" title="exec usage"> experto plugin de ejecución para
comando clean package exec:java -P Class_Containing_Main_Method
es también una opción si usted tiene sólo un método principal (PSVM) en el proyecto, con el siguiente programa de instalación de Maven.
No se olvide de mencionar la clase en la sección de <properties></properties>
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 configuración Ejecutar junto con el anterior programa de instalación de Maven: