2015-09-04 276 views
2

我有一个依赖项问题,我不知道如何解决它。Gradle子项目构建依赖关系

我有一个项目A,B和C

A需要B和C

B需要Ç

我的目录结构是这样的:

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

设置。 gradle content:

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

你有你的B和C子项目单独的build.gradle? – Stanislav

回答

3

请尽量

subprojects { 
    apply plugin: 'java' 
} 

添加到您的主build.gradle

+0

这解决了这个问题,尽管我已经为包含这个插件的B和C分别创建了build.gradle文件。 – Klaus