Gradle子项目构建依赖项

时间:2015-09-04 06:07:01

标签: java gradle dependencies multi-project subproject

我有依赖性问题,我不知道如何解决它。

我有一个项目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')
  }
}

如果我没有声明项目(':lib / B'){...}部分,则由于依赖性而无法构建项目B.

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

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

PS:无法更改数据结构。

1 个答案:

答案 0 :(得分:5)

请尝试添加

subprojects {
    apply plugin: 'java'
}

到您的主build.gradle