在一个正常的项目中,我可以有这样的结构:
myProject/
build.gradle
gradle.properties
**settings.gradle**但如果我有另一个项目
myProject2/
build.gradle
gradle.properties效果很好。
当myProject2是myProject的子文件夹(但不是子项目)时,事情就变得奇怪了。
myProject/
myProject2/
build.gradle
gradle.properties
build.gradle
gradle.properties
settings.gradle如何查找设置文件?
发布于 2015-05-14 12:49:24
settings.gradle文件有以下两个主要用途:
因此,对于单个项目构建来说,它是可选的,但是由于#2,它对于多项目构建是强制性的。
默认情况下,假定设置文件的位置也是根项目的位置,但可以在设置文件中重新定义根项目的位置。
现在,用于定位settings.gradle文件的分级逻辑,如gradle用户指南这里中所记录的那样
如果您从一个带有设置文件的目录中触发一个多项目构建,那么Amnon是很简单的--您刚刚找到它. 如果在没有settings.gradle文件的项目中执行Gradle,Gradle将以下列方式查找settings.gradle文件:
(Gradle用户指南还提供了此行为这里的用途)。
现在,回到您的情况,您提供的前两个项目布局是针对单个项目构建的,因此settings.gradle是可选的。对于第三个项目布局,如果您要从根项目(myProject)运行gradle,那么它将在它旁边找到settings.gradle,但是如果您将从myProject2文件夹运行它,那么由于这个项目父路径包含一个settings.gradle文件,gradle将找到并使用它。
https://stackoverflow.com/questions/30235390
复制相似问题