Gradle 子项目构建依赖

Gradle subproject build dependency

我有一个依赖问题,我不知道如何解决。

我有一个项目 A、B 和 C。

A需要B和C

B需要C

我的目录结构是这样的:

A
|-settings.gradle
|-build.gradle
|-lib
   |- B
   |- C

settings.gradle内容:

include 'lib/B'
include 'lib/C'

build.gradle内容:

apply plugin: 'java'
dependencies {
  compile project(':lib/B'), 
          project(':lib/C') 
}

project(':lib/B'){
  dependencies {
    compile project(':lib/C')
  }
}

如果我不声明 project(':lib/B'){...} 部分,由于依赖关系,无法构建项目 B。

如果我声明 project(':lib/B'){...} 部分,Gradle 告诉我:找不到参数 [project ':[= 的方法 compile() 38=]'] 在 org.gradle.api.internal.artifacts.dsl.pendencies.DefaultDependencyHandler_Decorated@221bad.

我如何解决它,或者在 B 之前编译 C?

PS: 无法更改数据结构。

请尝试添加

subprojects {
    apply plugin: 'java'
}

到你的主build.gradle