我有一种情况,我需要添加一些jar文件到compileJava的类路径中,但是当最初在gradle中加载任务时,这些文件不可用。所以,如果我做这样的事情:

compileJava.classpath += files('path/to/file.jar')

...这是行不通的,因为在gradle启动时加载compileJava时,path/to/file.jar不存在。在compileJava的第一步中,我将jar文件复制到正确的位置,因此当compileJava运行时,该文件将可用...但是由于gradle在加载compileJava任务时找不到它,因此不会在类路径中。有没有一种方法可以更动态地设置任务的类路径?我已经试过了:
compileJava {
    doFirst {
        classpath += files('path/to/file.jar')
    }
}

...但是那没用。显然,对task属性的修改没有生效。在任务运行期间是否可以访问属性?有一种完全更好的方法吗?也许使用dependencies

最佳答案

使用尚不存在的文件路径配置compileJava.classpath根本不是问题,并且不需要推迟它。您的构建脚本必须存在其他问题。

09-18 20:19