嗨,在我的buildSrc目录中,我有两个独立的项目,让我们将它们命名为 one 和 two . 我在 buildSrc dir中添加 build.gradle 和 settings.gradle 文件并在其中写道: settings.gradle
include \
"one",
"two"
但是当我尝试使用这些项目提供的一些插件时,Gradle说无法找到这些导入 . 我搜索了simmilar问题,发现我必须在buildSrc中写入 build.gradle 文件:
dependencies {
runtime subprojects.collect { owner.project(it.path) }
}
这条线是什么意思?为什么我要添加它? BuildSrc 在类路径上自动添加了复制类,或者我错了?
1 回答
Gradle自动将“buildSrc项目”及其运行时依赖项放在buildscript类路径上,但不会自动将buildSrc的子项目放在buildscript类路径上 .
如果您具有如上所述的多项目构建,则buildSrc是根项目,但您的自定义逻辑位于子项目中 . 现在当gradle将buildSrc.jar放在buildscript类路径上时,它或多或少是空的 .
片段
将所有子项目作为运行时依赖项添加到根buildSrc项目中 . 这应该可以解决您的问题,因为Gradle将buildSrc和它的运行时依赖项放在buildscript类路径上 .