Docker下的Gradle - 无法打开cp_proj重映射的类缓存

时间:2016-05-26 04:50:59

标签: jenkins gradle docker gradlew

我已将Jenkins 2.6安装为Windows 2012 Server计算机上的docker容器。

我创建了一个从git中检出项目的项目。

我已经配置了使用gradle wrapper 2.13进行构建的构建步骤

gradle命令失败,显示:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'test'.
> Could not open cp_proj remapped class cache for 6f7e45oinduki44jplv0c4r9s (/var/jenkins_home/.gradle/caches/2.13/scrip
ts-remapped/build_4xwqfk0ckitkb3fdwi5uf1f5e/6f7e45oinduki44jplv0c4r9s/cp_proj57408229).
   > java.io.FileNotFoundException: /var/jenkins_home/.gradle/caches/2.13/scripts-remapped/build_4xwqfk0ckitkb3fdwi5uf1f
5e/6f7e45oinduki44jplv0c4r9s/cp_proj57408229/classes/build_4xwqfk0ckitkb3fdwi5uf1f5e$_run_closure1$_closure3$_closure5.c
lass (Operation not permitted)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

我已经尝试远程访问容器并手动运行gradle命令,但得到了同样的错误。

我在互联网上发现了一篇建议删除锁文件的文章:cache.properties.lock

这没有帮助。

我也试过重新启动容器,但这也没有帮助。

2 个答案:

答案 0 :(得分:1)

我有同样的问题,至少对我来说是因为两个原因:

  1. 我的java home系统变量指向的是jdk7而不是jdk8
  2. 代理正阻止jCentral。
  3. 解决方案:

    1. 首先,解决方案非常简单。我刚刚指出JAVA_HOME有java 8版本
    2. 在用户主目录(对我来说是c:/ users /)/。gradle我创建了一个名为gradle.properties的文件,我在其中设置了下一个设置:

      systemProp.http.proxyHost = ..

      systemProp.http.proxyPort = ..

      systemProp.http.proxyUser = ..

      systemProp.http.proxyPassword = ..

      systemProp。的 HTTPS .proxyHost = ..

      systemProp。的 HTTPS .proxyPort = ..

      systemProp。的 HTTPS .proxyUser = ..

      systemProp。的 HTTPS .proxyPassword = ..

    3. 希望将来对其他人有用。

答案 1 :(得分:0)

我搜索了HOURS,并尝试了很多方法,但是唯一对我有用的方法是转到“ C:\ Users \ YOUR-USERNAME.gradle”并删除“ cache”文件夹。如果您要谨慎,也可以将其重命名为“ cache-BACKUP”。为我修复了所有问题。