首页 文章

如何在Gradle中的buildSrc目录中导入多项目构建?

提问于
浏览
1

嗨,在我的buildSrc目录中,我有两个独立的项目,让我们将它们命名为 onetwo . 我在 buildSrc dir中添加 build.gradlesettings.gradle 文件并在其中写道: settings.gradle

include \
    "one",
    "two"

但是当我尝试使用这些项目提供的一些插件时,Gradle说无法找到这些导入 . 我搜索了simmilar问题,发现我必须在buildSrc中写入 build.gradle 文件:

dependencies {
    runtime subprojects.collect { owner.project(it.path) }
}

这条线是什么意思?为什么我要添加它? BuildSrc 在类路径上自动添加了复制类,或者我错了?

1 回答

  • 3

    Gradle自动将“buildSrc项目”及其运行时依赖项放在buildscript类路径上,但不会自动将buildSrc的子项目放在buildscript类路径上 .

    如果您具有如上所述的多项目构建,则buildSrc是根项目,但您的自定义逻辑位于子项目中 . 现在当gradle将buildSrc.jar放在buildscript类路径上时,它或多或少是空的 .

    片段

    dependencies {
        runtime subprojects.collect { owner.project(it.path) }
    }
    

    将所有子项目作为运行时依赖项添加到根buildSrc项目中 . 这应该可以解决您的问题,因为Gradle将buildSrc和它的运行时依赖项放在buildscript类路径上 .

相关问题