我在临时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
感谢您的帮助
答案 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解决它