默认情况下,gradle.user.home
设置为~/.gradle
- 我想将其更改为相对于项目的目录,而不是开发人员的主目录。
我知道当你调用 gradle 时你可以这样做,就像这样:
$ gradle --gradle-user-home=./project-relative-directory
或
$ gradle -Dgradle.user.home=./project-relative-directory
我知道您可以通过将以下内容添加到 settings.gradle 来更改构建缓存的位置:
buildCache {
local {
// Set local build cache directory.
directory = "${settingsDir}/build-cache"
}
}
但是 gradle 继续使用 gradle.user.home
进行其他缓存。
手册声称您可以在gradle.properties
中指定gradle.user.home
,如下所示:
systemProp.gradle.user.home=./project-relative-directory
但这似乎根本不起作用,对于绝对路径或相对路径不起作用;尽管以后可以通过System.get
检索它,gradle
似乎没有使用它。
还有其他解决方案吗?
您也可以通过更改 GRADLE_USER_HOME env 变量来实现。在这种情况下,所有文件都将保存在指定的目录中。
export GRADLE_USER_HOME=./project-relative-directory
当 Gradle 解析gradle.properties
文件时,已经发生了太多事情。因此,使用自定义 Gradle 主页的唯一方法是通过具有最高优先级的命令行标志或通过系统属性。
请注意,文档指出了这一点,但没有提到在属性文件中设置该值的能力。