在buildSrc目录中,您好,我有两个单独的项目,将其命名为一个两个
我在 buildSrc 目录中添加了 build.gradle settings.gradle 文件,并在其中写入:
settings.gradle

include \
    "one",
    "two"

但是,当我尝试使用此项目提供的某些插件时,Gradle说找不到此导入。我搜索了类似的问题,发现我必须在buildSrc中的 build.gradle 文件中编写:
dependencies {
    runtime subprojects.collect { owner.project(it.path) }
}

这行是什么意思?为什么还要添加它? BuildSrc 自动在类路径上添加已编译的类,否则我错了吗?

最佳答案

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

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

片段

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

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

关于plugins - 如何在Gradle的buildSrc目录中导入多项目构建?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23990513/

10-14 00:03