我希望能够通过命令行设置系统属性,以便java代码可以访问它。我怎样才能实现这个功能?
以下示例失败。
命令行
./gradlew clean test -Dfoo=bar
Java代码
@Test
public void shouldGetFoo(){
String myProp = System.getProperty("foo");
assertThat(myProp, is("bar"));
}
答案 0 :(得分:3)
的build.gradle:
test {
systemProperty "foo", System.getProperty("foo")
}
这是必要的,因为测试始终在单独的JVM中运行。实现JavaForkOptions
的所有其他任务类型(例如JavaExec
)具有相同的属性。有关API详细信息,请参阅Gradle Build Language Reference。