2015-04-15 10 views
11

Voglio eseguire un file jar con i parametri situati in C: /Users/nwuser/FitNesse/fitnesse-standalone.jar nel mio script gradle. Io so come farlo senza parametri:Esegui jar con parametri nel gradle

apply plugin: 'java' 

task runJar(dependsOn:jar) << { 
    javaexec { 
    main="-jar"; args "C:/Users/nwuser/FitNesse/fitnesse-standalone.jar" 
    } 
} 

Ma ora voglio fare qualcosa di simile, come (se si utilizza la console):?

java -jar fitnesse-standalone.jar -c "FrontPage?suite&format=text" 

Come posso applicare FrontPage -c" Suite & format = text "all'interno del mio script gradle?

Cordiali saluti!

+1

Secondo Gradle 4.3, "Il metodo Task.leftShift (chiusura) è obsoleto ed è previsto per essere rimosso in Gradle 5.0. Utilizzare invece Task.doLast (Action). " – bonh

risposta

23

args è un array, così semplicemente fornisci le argomentazioni in quanto tale:

task runJar(dependsOn:jar) << { 
    javaexec { 
    main="-jar"; 
    args = [ 
      "C:/Users/nwuser/FitNesse/fitnesse-standalone.jar", 
      "-c", 
      "FrontPage?suite&format=text" 
      ] 
    } 
} 
0

Se sei solo tentativo di eseguire una suite di test FitNesse con Gradle, è possibile aggiungere il vaso FitNesse alle vostre dipendenze :

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile 'org.fitnesse:fitnesse:20161106' 
} 

e definire un compito JavaExec in questo modo:

task fitnesse(type: JavaExec) { 
    classpath = sourceSets.main.runtimeClasspath 

    main = 'fitnesseMain.FitNesseMain' 

    args '-c', 'FrontPage?suite&format=text' 
} 

E quindi eseguire:

$ gradle fitnesse 
... 
Executing command: FrontPage?suite&format=text 
-------- 
0 Tests,  0 Failures  0.091 seconds.