2015-04-15 3 views
11

Я хочу запустить файл jar с параметрами, расположенными в C: /Users/nwuser/FitNesse/fitnesse-standalone.jar в моем сценарии градации. Я знаю, как сделать это без параметров:Запуск jar с параметрами в gradle

apply plugin: 'java' 

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

Но сейчас я хочу сделать что-то похож, как (при использовании консоли):

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

Как я могу применить -c «FrontPage набор & format = text "внутри моего сценария градации?

С уважением!

+1

Согласно Gradle 4.3, «Метод Task.leftShift (Закрытие) является устаревшим и планируется быть удалены в Gradle 5.0. Вместо этого используйте Task.doLast (Action). " – bonh

ответ

23

арг представляет собой массив, так просто поставить свои аргументы как таковые:

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

Если вы просто пытаются запустить тестовый набор FitNesse с Gradle, вы можете добавить банку FitNesse своих зависимостей :

repositories { 
    mavenCentral() 
} 

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

и определить JavaExec задачу следующим образом:

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

    main = 'fitnesseMain.FitNesseMain' 

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

А затем запустить:

$ gradle fitnesse 
... 
Executing command: FrontPage?suite&format=text 
-------- 
0 Tests,  0 Failures  0.091 seconds. 
Смежные вопросы