当我运行以下gradle脚本时:
apply plugin: 'java'
task debugTest(type: Test) {
println systemProperties['PROP']
}
test {
systemProperties['PROP'] = 'true'
}
$ gradle debugTest
我希望它打印为true但它会打印为null。
有人可以解释原因。
答案 0 :(得分:0)
您只为名为test
的任务设置系统属性,而不是为名为debugTest
的任务设置系统属性。虽然test
和debugTest
来自同一类型(Test
),但您需要了解这里有2个完整的单独任务。一个选项可能是对Test类型的所有任务应用系统属性配置:
tasks.withType(Test){
systemProperties['PROP'] = 'true'
}
另一个问题是,您在配置块中的debugTest
中设置了println语句。相反,你应该使用一个动作块。此外,如果测试jvm中的属性可用,则完全无法证明。