'文件名太长'使用Gradle构建Spring时出错

时间:2014-07-15 10:33:43

标签: spring gradle

我尝试使用:./gradlew install

从源代码构建Spring

失败了:

/home/dk/.gradle/caches/1.12/scripts/build_68eiq5ktt9740a7l1bofab8a9a/ProjectScript/no_buildscript/classes/build_68eiq5ktt9740a7l1bofab8a9a$_run_closure27_closure138_closure139_closure140_closure141_closure142_closure143_closure144_closure146_closure147.class (File name too long)

这是reported earlier,但应该已在Gradle 0.9.1中修复。但是我仍然在Gradle 1.12中出现此错误。我正在使用带有ext4文件系统的Ubuntu 14.04。

对此推荐的解决方法是什么?

3 个答案:

答案 0 :(得分:8)

使用加密的主目录时似乎发生此错误。我已将GRADLE_USER_HOME设置为未加密的目录,一切正常。

答案 1 :(得分:4)

我所知道的唯一解决方案是使用可以处理长文件名的文件系统,或者要求Spring人员更改其构建脚本,以便它不会使用如此深的嵌套级别(10似乎太多了)。无论如何,这个问题应该引起Spring开发人员的注意(例如在他们的JIRA中)。如果没有人使用Ubuntu / ext4,我会感到惊讶。

答案 2 :(得分:0)

我认为现在将其发回此线程还为时不晚。根据 Dennis 提供的答案,以下是确保您能够在加密文件系统上编译 Spring Source 所需要做的事情。

$ sudo mkdir /opt/gradle/home
$ sudo chown -R $USER:$USER /opt/gradle/home
$ export GRADLE_USER_HOME=/opt/gradle/home # Probably add it to .zshrc or .bashrc files