我有一个使用Gradle构建的多构建Java项目。
隐藏非法反射访问警告我想在几个项目中找到JavaExec和Test任务,并提供所需的JVM参数。我想将它应用于root build.gradle中的所有项目,而不是将它们添加到每个项目中。
如何在所有项目中找到某种特定类型的任务?
我的初始尝试使用withType但是我想删除重复这个重复的JavaExec和Test任务类型。见下文:
尝试#1
allprojects {
repositories {
jcenter()
}
afterEvaluate {
project.tasks.withType(JavaExec) {
it.jvmArgs "--add-opens=java.base/java.lang=ALL-UNNAMED"
}
project.tasks.withType(Test) {
it.jvmArgs "--add-opens=java.base/java.lang=ALL-UNNAMED"
}
}
}
subprojects {
version = "0.0.1-SNAPSHOT"
}
答案 0 :(得分:2)
试试这个:
afterEvaluate {
[JavaExec, Test].each {
project.tasks.withType(it) {
it.jvmArgs "--add-opens=java.base/java.lang=ALL-UNNAMED"
}
}
}