嗨,在我的buildSrc dir中,我有两个单独的项目,让我们将它们命名为one和 two 。我在settings.gradle buildSrc dir中添加了build.gradle和文件,在它们中我写道:settings.gradle
include \
"one",
"two"但是当我尝试使用从这个项目中提供的一些插件时,Gradle说这个导入是找不到的。我搜索了simmilar问题,发现我必须在build.gradle文件中用buildSrc编写:
dependencies {
runtime subprojects.collect { owner.project(it.path) }
}这条线是什么意思?为什么我要添加它呢?BuildSrc在类路径上自动添加已处理的类,还是我错了?
发布于 2014-06-02 09:38:08
Gradle将"buildSrc项目“和它对buildscript类路径的运行时依赖自动放置,但不会自动将buildSrc的子项目放在构建脚本类路径上。
如果您有像上面所描述的多项目构建,buildSrc是根项目,但是您的自定义逻辑在子项目中。现在,当gradle将buildSrc.jar放在buildscript类路径上时,它或多或少是空的。
小片段
dependencies {
runtime subprojects.collect { owner.project(it.path) }
}将所有子项目作为运行时依赖项添加到根buildSrc项目中。这将解决您的问题,因为Gradle将buildSrc及其对buildscript类路径的运行时依赖。
https://stackoverflow.com/questions/23990513
复制相似问题