我有一个具有以下结构的多项目 gradle 项目。
Project A: The top level project that all sub projects reside in.
SubProject B:
SubProject C:
SubProject D:
SubProject E:
SubProject Shared: Every 'SubProject' has a dependency to this project "compile project(':Shared')"
从顶级“项目 A”运行 Gradle 任务时,一切正常但是,当我尝试在子项目(例如“SubProject C”)上运行单个任务时,出现以下错误。
FAILURE: Build failed with an exception
What went wrong:
A problem occurred evaluating root project 'SubProject C'.
Project with path ':Shared' could not be found in root project 'SubProject C'.
我想我在这里看到了问题,Gradle 认为我的子项目是根项目?但是我不知道如何解决这个问题。
我的顶级 settings.gradle 文件看起来像这样
rootProject.name = 'Project A'
include 'SubProject B'
include 'SubProject C'
include 'SubProject D'
include 'SubProject E'
include 'SubProject Shared'
这是我的“SubProject C”的 build.gradle 文件dependencies {
compile project(':Shared')
}
额外的问题... 子项目是否需要将“rootProject.name”设置为子项目名称的 settings.gradle 文件?
最佳答案
我认为问题在于您的 settings.gradle 文件。
用下面的代码替换你的 settings.gradle 文件。
rootProject.name = 'Project A'
include 'SubProject B',':SubProject C',':SubProject D',':SubProject E'
include ':SubProject Shared'
尝试运行“SubProjectC”的构建脚本。希望它会起作用。
并回答你的第二个问题。
We don't need seperate settings.gradle for each subprojects.
关于Gradle 子项目不会编译依赖于其他子项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38820516/