我想将我的第一个项目“ Component1-1-1”包含在我的第二个项目“ Component1-1”中,我在我的setting.gradle文件中添加了以下语法:
include ':Component1-1-1'
project(':Component1-1-1').projectDir = new File(settingsDir, '../Component1-1-1')
然后我将其添加到build.gradle文件中:
earlib project(':Component1-1-1')
它工作正常,但是我的问题是我不了解“:”的用途,我试图将“:”移到settings.gradle中:
include 'Component1-1-1'
project(':Component1-1-1').projectDir = new File(settingsDir, '../Component1-1-1')
在build.gradle中:
earlib project(':Component1-1-1')
一切正常,我不知道为什么...
答案 0 :(得分:0)
在project()
函数中以gradle引用项目时,需要限定项目名称,分隔符为':'。与Linux中的“ /”相同。
但是,当您使用include()
定义新项目时,只需传递该项目的相对文件路径,就不能传递':'。
Gradle只是丢弃include ':Component1-1-1'
中的冒号。
请参见https://github.com/gradle/gradle/blob/master/subprojects/core/src/main/java/org/gradle/initialization/DefaultSettings.java
和方法“ removeTrailingColon”,实际上应该称为“ removeLeadingColon”。