相关疑难解决方法(0)

如何将参数从命令行传递给gradle

我正在尝试将参数从命令行传递给java类.我关注这篇文章:http://gradle.1045684.n5.nabble.com/Gradle-application-plugin-question-td5539555.html但代码对我不起作用(也许它不适用于JavaExec?).这是我尝试过的:

task listTests(type:JavaExec){
    main = "util.TestGroupScanner"
    classpath = sourceSets.util.runtimeClasspath
    // this works...
    args 'demo'
    /*
    // this does not work!
    if (project.hasProperty("group")){
        args group
    }
    */
}
Run Code Online (Sandbox Code Playgroud)

上述硬编码args值的输出为:

C:\ws\svn\sqe\sandbox\selenium2forbg\testgradle>g listTests
:compileUtilJava UP-TO-DATE
:processUtilResources UP-TO-DATE
:utilClasses UP-TO-DATE
:listTests
Received argument: demo

BUILD SUCCESSFUL

Total time: 13.422 secs
Run Code Online (Sandbox Code Playgroud)

但是,一旦我更改代码以使用hasProperty部分并在命令行上传递"demo"作为参数,我会得到一个NullPointerException:

C:\ws\svn\sqe\sandbox\selenium2forbg\testgradle>g listTests -Pgroup=demo -s

FAILURE: Build failed with an exception.

* Where:
Build file 'C:\ws\svn\sqe\sandbox\selenium2forbg\testgradle\build.gradle' line:25

* What went wrong:
A problem occurred evaluating root project 'testgradle'.
> java.lang.NullPointerException (no error …
Run Code Online (Sandbox Code Playgroud)

gradle

90
推荐指数
6
解决办法
14万
查看次数

标签 统计

gradle ×1