Gradle 子项目不会编译依赖于其他子项目

标签 gradle gradle-eclipse

我有一个具有以下结构的多项目 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/

相关文章:

java - 如何为 JBoss AS 7.1 托管的 JSF2 应用程序设置 Gradle 构建?

android - 每次构建都将痛苦的 Unity 项目导出到 Android(我做错了什么)

gradle - Archiva无法使用Gradle发布

git - 自动执行Eclipse清洁,在Git Pull上进行 eclipse

java - 如何调试从 eclipse 部署到 tomcat 的问题?

java - Gradle 构建成功但失败

gradle - 在单个Eclipse工作区中处理Gradle项目的多个相互依赖的组

git - gradle - gradle-git 上的 getWorkingBranch 错误

java - 如何在 gradle 的应用程序插件 'run' 任务的类路径上指定一个额外的文件夹?

java - Gradle 复合构建 - 您是否可以依赖于包含的多项目构建中的 java 子项目?