如何使用Gradle命令行设置Java System属性?

时间:2014-10-31 20:09:21

标签: java gradle

我希望能够通过命令行设置系统属性,以便java代码可以访问它。我怎样才能实现这个功能?

以下示例失败。

命令行

./gradlew clean test -Dfoo=bar

Java代码

@Test
public void shouldGetFoo(){
    String myProp = System.getProperty("foo");

    assertThat(myProp, is("bar"));
}

1 个答案:

答案 0 :(得分:3)

的build.gradle:

test {
    systemProperty "foo", System.getProperty("foo")
}

这是必要的,因为测试始终在单独的JVM中运行。实现JavaForkOptions的所有其他任务类型(例如JavaExec)具有相同的属性。有关API详细信息,请参阅Gradle Build Language Reference