¿Existe una "fase" u "objetivo" de Maven para ejecutar simplemente el método principal de una clase Java? Tengo un proyecto que me gustaría probar manualmente simplemente haciendo algo como "mvn run".
231
Vea el complemento exec maven . Puede ejecutar 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 complemento está en su pom.xml. El sitio del complemento en Mojohaus tiene un ejemplo más detallado .
<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>
1. Editar POM.xml
Agregue la siguiente propiedad en
pom.xml
. Asegúrese de utilizar el nombre de clase completo (es decir, con el nombre del paquete) que contiene elmain
método:2. Ejecutar comando
Ahora desde la terminal, active el siguiente comando:
NOTA Puede pasar más argumentos a través de la
-Dexec.args="xxx"
bandera.fuente
Las respuestas mencionadas anteriormente son correctas, pero lo estoy simplificando para novatos como yo. Vaya al archivo pom de su proyecto. Agregue una nueva propiedad
exec.mainClass
y dé su valor como la clase que contiene su método principal. Para mí fueDriverClass
enmainpkg
. Cámbielo según su proyecto.Una vez hecho esto, navegue a la carpeta que contiene su proyecto
pom.xml
y ejecútelo en el símbolo del sistemamvn exec:java
. Esto debería llamar al método principal.fuente
No es necesario agregar un nuevo complemento en pom.xml. Solo ejecuta este comando
Vea el plugin de Maven Exec para más uso.
fuente
-Dexec.args="...arg..."
Dar la ejecución Maven plugin de intentarlo
fuente
clean package exec:java -P Class_Containing_Main_Method
El comando también es una opción si solo tiene un método Main (PSVM) en el proyecto, con la siguiente configuración de Maven.No olvide mencionar la clase en la
<properties></properties>
sección depom.xml
:Configuración de ejecución de STS junto con la configuración de Maven anterior:
fuente
-P
es para el perfil. Compartió esto, ya que también es una opción para ejecutar el proyecto Maven.