Gradle JavaExec任务始终在执行
我有以下任务Gradle JavaExec任务始终在执行,gradle,Gradle,我有以下任务 task antlr4(type: JavaExec) { main = "org.antlr.v4.Tool" args = project.getAntlrArgs() classpath = configurations.compile } classes { it.dependsOn([antlr4]) } antlr4任务必须在编译java之前执行,因为antlr4会生成一些java文件 问题是每次执行任何任务时(例如运行clean任
task antlr4(type: JavaExec) {
main = "org.antlr.v4.Tool"
args = project.getAntlrArgs()
classpath = configurations.compile
}
classes {
it.dependsOn([antlr4])
}
antlr4任务必须在编译java之前执行,因为antlr4会生成一些java文件
问题是每次执行任何任务时(例如运行clean
任务时),它都会执行,我希望它只在编译java文件之前执行
我做错了什么?如何修复它?您发布的代码片段不会导致总是执行
antlr4
。问题一定在构建脚本的其他地方。如果Java编译需要由antlr4
任务生成的文件,则必须执行compileJava.dependsOn(antl4)
,而不是classes.dependsOn(antlr4)
。或者,按照您的语法,compileJava{dependsOn(antlr4)}
(您可以省略它。
和[]
)。请不要通过在此处和此处重复发布来生成不必要的工作。@PeterNiederwieser,谢谢您的建议,我不会这样做。不过,我无法删除这个问题。