将gradle临时缓存目录移动到其他目录

时间:2017-06-20 09:09:39

标签: gradle gradlew

我在临时gradle缓存目录中遇到了一些问题。 Gradle首先将所有依赖项下载到/tmp/gradle_download...bin,然后再将它们移动到目标目录。

10:55:12.932 [DEBUG] [org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor] Downloading https://${myNexusURL}/nexus/content/groups/../myArtefact.zip to /tmp/gradle_download1430290155040442921bin

我们在/ tmp上的空间非常有限,但在其他目录上我们有足够的空间。 有没有办法改变那个目录?

./gradlew -version

------------------------------------------------------------
Gradle 3.0
------------------------------------------------------------

Build time:   2016-08-15 13:15:01 UTC
Revision:     ad76ba00f59ecb287bd3c037bd25fc3df13ca558

Groovy:       2.4.7
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_91 (Oracle Corporation 25.91-b14)
OS:           Linux 3.0.101-0.40-default amd64

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

正如OP在他自己的回答中所提到的,Gradle使用的临时目录可以通过java.io.tmpdir系统属性设置。可能以下情况很明显,但以防万一:您还可以使用an environment variable for Gradle配置此系统属性,这样您就不必为每个Gradle调用单独配置它。

例如,您可以将以下内容添加到.bashrc

export GRADLE_OPTS=-Djava.io.tmpdir=/path/to/tmpdir

GRADLE_OPTS应该被gradle和Gradle Wrapper(gradlew)识别。

答案 1 :(得分:1)

通过-Djava.io.tmpdir = / path / to / tmpdir解决它