2015-09-04 233 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