27

将依赖项添加到 .gradle 文件后,我们的构建服务器开始出现以下问题:

FAILURE: Build failed with an exception.

* What went wrong:
Could not open buildscript class cache for build file '/u01/apps/.jenkins/workspace/[path name snipped]/build.gradle'     (/home/[username]/.gradle/caches/1.3/scripts/build_5jii90b0hvl37q9m8vfhik495b/ProjectScript/buildscript).
> java.io.EOFException

我们能够通过清除构建从站上的 gradle 缓存来解决它。但是,我担心这只是一个临时修复,它可能会再次出现。有没有更好的方法来解决这个问题?

4

7 回答 7

29

转到位置“.gradle\caches\2.0\scripts\build_7l4t45nbnsvdcl79ol8u0beli4\ProjectScript”并删除 cache.properties.lock 文件

于 2014-09-03T07:11:01.033 回答
12

该异常通常是由于缓存文件损坏而发生的。

在大多数情况下,删除缓存确实有效。

Linux

rm -rf ~/.gradle/caches

视窗

删除%USER_HOME%.gradle/caches文件夹

于 2016-09-08T17:50:20.950 回答
4

首先,我建议您从 Gradle 1.3 升级到最新版本。自 1.3 以来,构建脚本缓存发生了很大变化。

其次,在 Jenkins 环境中运行时,考虑将 gradle 用户家移动到 ~/.gradle/ 之外的另一个位置通常是一件好事。可以通过在 Jenkins 设置(配置系统)中设置环境变量 GRADLE_USER_HOME 来更改它。例如,在我们的环境中,我们将 gradle 缓存放在本地 SSD 磁盘上,而不是我们挂载的 NFS ~/.

第三种选择是将每个作业工作区用作 gradle 用户主页。这是通过在 Jenkins 作业配置中标记复选框“强制 GRADLE_USER_HOME 使用工作区”来完成的。如果您的作业始终在同一台机器上运行并且您在每次构建后不删除工作区,这将非常有效。

于 2014-02-21T14:09:18.397 回答
3

从命令行(在项目文件夹中)运行 ./gradlew clean 似乎为我清除了它。

于 2015-07-17T00:45:53.893 回答
2

C:\Users\John\.gradle\caches\2.4\scripts>del /S *.lock使用Win命令提示符为我做了诀窍(那里有很多.lock)。rm应该对类 Unix 系统做同样的事情。

于 2015-08-23T19:00:13.113 回答
0

如果上述方法均无效,您可以删除缓存文件夹。

于 2015-08-10T10:05:12.133 回答
0

在更新到 Tools for Apache Cordova v7 后,我在 Visual Studio 2015 中得到了这个。

只是删除上面的 .lock 文件并没有帮助。

我还必须删除平台文件夹。此文件夹与您的 www 文件夹处于同一级别(不是 VS 将其添加到 .gitignore)。

然后构建,删除 .lock 文件,删除整个 cache_* 文件夹,冲洗,重复直到构建成功。

于 2016-03-10T01:58:23.877 回答