Run jar with parameters in gradle
23,107
Solution 1
args is an array, so simply supply your arguments as such:
task runJar(dependsOn:jar) << {
javaexec {
main="-jar";
args = [
"C:/Users/nwuser/FitNesse/fitnesse-standalone.jar",
"-c",
"FrontPage?suite&format=text"
]
}
}
Solution 2
If you're just trying to run a FitNesse test suite with Gradle, you can add the FitNesse jar to your dependencies:
repositories {
mavenCentral()
}
dependencies {
compile 'org.fitnesse:fitnesse:20161106'
}
and define a JavaExec
task like so:
task fitnesse(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'fitnesseMain.FitNesseMain'
args '-c', 'FrontPage?suite&format=text'
}
And then run:
$ gradle fitnesse
...
Executing command: FrontPage?suite&format=text
--------
0 Tests, 0 Failures 0.091 seconds.
Related videos on Youtube
Author by
Jason Saruulo
Updated on July 09, 2022Comments
-
Jason Saruulo almost 2 years
I want to run a jar file with parameters located at C:/Users/nwuser/FitNesse/fitnesse-standalone.jar in my gradle script. I know how to do it without parameters:
apply plugin: 'java' task runJar(dependsOn:jar) << { javaexec { main="-jar"; args "C:/Users/nwuser/FitNesse/fitnesse-standalone.jar" } }
But now I want to do something similiar like (if using the console):
java -jar fitnesse-standalone.jar -c "FrontPage?suite&format=text"
How can I apply -c "FrontPage?suite&format=text" inside my gradle script?
Kind regards !
-
bonh over 6 yearsAccording to Gradle 4.3, "The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead."
-
-
julianm over 4 yearsIn my case it failed with full package name, but it worked using just the class name:
main = 'Main'