java 在 gradle 中使用参数运行 jar

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/29643973/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-02 15:39:22  来源:igfitidea点击:

Run jar with parameters in gradle

javajarparametersgradle

提问by Jason Saruulo

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:

我想在我的 gradle 脚本中运行一个参数位于 C:/Users/nwuser/FitNesse/fitnesse-standalone.jar 的 jar 文件。我知道如何在没有参数的情况下做到这一点:

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?

如何在我的 gradle 脚本中应用 -c "FrontPage?suite&format=text"?

Kind regards !

亲切的问候 !

回答by Ori Lentz

args is an array, so simply supply your arguments as such:

args 是一个数组,因此只需提供您的参数:

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

回答by bonh

If you're justtrying to run a FitNesse test suite with Gradle, you can add the FitNesse jar to your dependencies:

如果您只是尝试使用 Gradle 运行 FitNesse 测试套件,您可以将 FitNesse jar 添加到您的依赖项中:

repositories {
  mavenCentral()
}

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

and define a JavaExectask like so:

JavaExec像这样定义一个任务:

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.