2016-03-09 53 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