我正在尝试创建一个jenkins slave来构建gradle lambda项目。 Jenkins slave在构建项目时抛出了以下错误。
Exception in thread "main" java.lang.RuntimeException: Could not create parent directory for lock file /gradle/wrapper/dists/gradle-4.2.1-bin/dajvke9o8kmaxbu0kc5gcgeju/gradle-4.2.1-bin.zip.lck
at org.gradle.wrapper.ExclusiveFileAccessManager.access(ExclusiveFileAccessManager.java:43)
at org.gradle.wrapper.Install.createDist(Install.java:48)
at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:107)
at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)
/home/jenkins/workspace/ddoa-subprod/lf-security-gateway2/lf-security-gateway2
FAILURE: Build failed with an exception.
* What went wrong:
Failed to load native library 'libnative-platform.so' for Linux amd64.
请帮助我理解这个问题,让我知道如何解决这个问题。
答案 0 :(得分:1)
如果您使用的是Gradle版本3.4,那么它可能是this issue。
要解决此问题,您可以尝试将Gradle分发版更新到版本3.5或更高版本,此问题已解决。
答案 1 :(得分:1)
要纠正此错误:MyTestClass
请执行以下操作:
y
是否在该目录中)。What went wrong: Failed to load native library 'libnative-platform.so' for Linux amd64.
就足够了。如果您根本看不到本机文件夹,或者如果本机文件夹似乎已损坏,请使用libnative-platform.so
或chmod -R 755 ~/.gradle
选项运行gradle clean build
的Gradle任务并传递其值。
示例::如果我运行-g
,将会看到Gradle将填充所有必需的文件夹/文件(甚至在运行任何任务或任何选项之前都需要运行)。现在位于这个新的Gradle主文件夹中(即 /tmp/newG_H_Folder/.gradle 目录)。
从该文件夹中,您可以将 本地 文件夹只是复制到用户的〜/ .gradle文件夹(获取现有本机文件的备份文件夹(如果需要的话,请先放在〜/ .gradle中))-或将整个 .gradle 文件夹复制到您的〜(主目录)中。
然后重新运行Gradle任务,它将不再出错。
Gradle文档说: https://docs.gradle.org/current/userguide/command_line_interface.html
-g,--gradle-user-home 指定Gradle用户的主目录。默认值为用户主目录中的.gradle目录。
注意:使用--gradle-user-home
始终可以工作,因为Gradle会在该mkdir /tmp/newG_H_Folder; gradle clean build -g /tmp/newG_H_Folder
定义的文件夹中创建新的.gradle缓存,但是这样做不会获得Gradle缓存概念的真正好处。 / p>
答案 2 :(得分:0)
我以sudo的身份运行命令,它经历了很好的