首页 文章

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

提问于
浏览
0

我有一个具有以下结构的Multi项目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任务时,一切正常

但是,当我尝试在子项目(如“子项目C”)上运行单个任务时,出现以下错误 .

FAILURE:构建失败,出现异常出错:评估根项目“SubProject C”时出现问题 . 在根项目“SubProject C”中找不到具有路径':Shared'的项目 .

我想我在这里看到了问题,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')
}

奖金问题...子项目是否需要一个settings.gradle文件,并将'rootProject.name'设置为子项目名称?

1 回答

  • 1

    我认为问题出在你的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.
    

相关问题