2016-03-09 61 views
1

我有一個根項目gradletinker,子模塊xt-domain-layer。的gradletinkersettings.gradle是:模塊中的子模塊不在gradle中工作

rootProject.name = 'gradletinker' 
include 'xt-domain-layer' 

xt-domain-layer還含有一種叫xt-web子模塊。的xt-domain-layersettings.gradle是:

rootProject.name = 'xt-domain-layer' 
    include 'xt-web' 

現在從根項目graldetinker當我運行\gradletinker>gradlew projects我沒有得到上市

------------------------------------------------------------ 
Root project    
------------------------------------------------------------ 

Root project 'gradletinker' 
\--- Project ':xt-domain-layer' 


\gradletinker>gradlew -q :xt-domain-layer:projects 

------------------------------------------------------------ 
Project :xt-domain-layer 
------------------------------------------------------------ 

Project ':xt-domain-layer' 
No sub-projects 

任何想法,我錯了子模塊xt-web

+0

爲什麼在你的xt-domain-layer的setting.gradle中沒有'include ...'行?你使用include行添加一個子模塊。 – RaGe

回答

0

按照gradle文檔。我只需要在根級別設置一個settings.gradle文件。

rootProject.name = 'gradletinker' include 'xt-domain-layer:xt-web

所以刪除settings.gradle文件,並增加了以下的settings.gradle在根級別。

------------------------------------------------------------ 
Root project 
------------------------------------------------------------ 

Root project 'gradletinker' 
\--- Project ':xt-domain-layer' 
    \--- Project ':xt-domain-layer:xt-web' 
1

您可以使用settings.gradle將子項目添加到Gradle項目中。添加它的機制是:

include 'subproject-folder-name' 

或替代,如果子項目位於一些任意位置:

include ":subProj" 
project(":subProj").projectDir = file("path/to/subproject") 

在你的情況下,添加到xt-domain-layer settings.gradle:

include 'xt-web' 
+0

對不起,我錯過了複製該內容。我已經更新了這個問題 – tintin

+0

嗯,是否有一個原因,你有兩個settings.gradle文件?而不是組織所有三個項目的根settings.gralde?你的設置根本不適合我。根項目中的gradle無法找到項目的2個級別。 – RaGe

+0

您使用的是哪個版本的gradle? – RaGe