我有一种情况,我需要添加一些 jar 文件来编译 Java 的类路径,但是当任务最初在 gradle 中加载时这些文件不可用。所以,如果我做这样的事情:
compileJava.classpath += files('path/to/file.jar')
...它不起作用,因为当 compileJava 在 gradle 启动时加载时,path/to/file.jar
不存在。在 compileJava 之前的一个步骤中,我将该 jar 文件复制到正确的位置,因此当 compileJava 运行时,该文件将可用...但是因为 gradle 在加载 compileJava 任务时没有找到它,所以它不会在类路径中。有没有办法更动态地设置任务的类路径?我试过这个:
compileJava {
doFirst {
classpath += files('path/to/file.jar')
}
}
......但这没有用。显然对任务属性的修改没有生效。是否可以在任务运行时访问该属性?有没有更好的方法来做到这一点?也许使用dependencies
?