tutorial - pasar parametros por linea de comandos java
Maven: Cómo ejecutar un archivo.java desde línea de comando pasando argumentos (3)
Tengo el siguiente problema. Me gustaría ejecutar mvn
desde la línea de comandos para un archivo Main.java
. Main.java
acepta un parámetro. ¿Cómo hago eso desde la línea de comando?
Traté de encontrar un ejemplo, pero no tuve éxito. ¿Podría alguien ayudarme dándome un ejemplo de eso?
Miré here pero no entendí muy bien qué debería hacer.
Además, ¿cómo ejecuto ese comando desde una carpeta diferente a la carpeta Main.java?
por ejemplo, Main.java
está ubicado en my/java/program/Main.java
. ¿Qué debería poner?
mvn exec:java -Dexec.mainClass="what to put here?" -Dexec.args="arg0 arg1 arg2"
Además de ejecutarlo con mvn exec:java
, también puedes ejecutarlo con mvn exec:exec
mvn exec:exec -Dexec.executable="java" -Dexec.args="-classpath %classpath your.package.MainClass"
Eche un vistazo al maven-exec-plugin . Utilizado correctamente, puede hacer que compile su clase java y luego simplemente ejecutar java con la clase compilada en el classpath. Para lanzar, todo lo que tendrías que hacer es usar
mvn exec:exec
Puede ejecutar: mvn exec:exec -Dexec.args="arg1"
.
Esto pasará el argumento arg1 a tu programa.
Debe especificar la clase principal totalmente calificada, por ejemplo, una Main.java que está en una prueba de paquete necesitaría
mvn exec:java -Dexec.mainClass=test.Main
Al usar el parámetro -f
, como se describe here , también puede ejecutarlo desde otros directorios.
mvn exec:java -Dexec.mainClass=test.Main -f folder/pom.xm
Para argumentos múltiples, simplemente sepárelos con un espacio como lo haría en la línea de comando.
mvn exec:java -Dexec.mainClass=test.Main -Dexec.args="arg1 arg2 arg3"
Para los argumentos separados con un espacio , puede agrupar utilizando ''argument separated with space''
dentro de las comillas.
mvn exec:java -Dexec.mainClass=test.Main -Dexec.args="''argument separated with space'' ''another one''"