Saltar al contenido

Cómo pasar argumentos desde la línea de comandos a gradle

Solución:

project.group es una propiedad predefinida. Con -P, solo puede establecer propiedades del proyecto que sean no predefinido. Alternativamente, puede configurar las propiedades del sistema Java (-D).

Sobre la base de la respuesta de Peter N, este es un ejemplo de cómo agregar argumentos (opcionales) especificados por el usuario para pasar a Java main para una tarea JavaExec (ya que no puede establecer la propiedad ‘args’ manualmente por la razón que él cita).

Agregue esto a la tarea:

task(runProgram, type: JavaExec) {

  [...]

  if (project.hasProperty('myargs')) {
      args(myargs.split(','))
  }

… y ejecutar en la línea de comando así

% ./gradlew runProgram '-Pmyargs=-x,7,--no-kidding,/Users/rogers/tests/file.txt'

Mi programa con dos argumentos, args[0] y argumentos[1]:

public static void main(String[] args) throws Exception {
    System.out.println(args);
    String host = args[0];
    System.out.println(host);
    int port = Integer.parseInt(args[1]);

mi build.gradle

run {
    if ( project.hasProperty("appArgsWhatEverIWant") ) {
        args Eval.me(appArgsWhatEverIWant)
    }
}

mi mensaje de terminal:

gradle run  -PappArgsWhatEverIWant="['localhost','8080']"
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *