我正在尝试创建一个Jenkins代理来构建Gradle lambda项目。Jenkins代理在构建项目时抛出以下错误。
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.
字符串
请帮助我了解这个问题,并让我知道如何解决这个问题。
3条答案
按热度按时间llmtgqce1#
要修复此错误:
What went wrong: Failed to load native library 'libnative-platform.so' for Linux amd64.
,请执行以下操作:1.检查Gradle缓存(~user/.gradle/本机文件夹是否存在)。
1.检查Gradle缓存(~user/.gradle/native文件夹是否存在,以及该目录中是否存在有问题的文件,即
libnative-platform.so
)。1.检查上述文件夹 ~user/.gradle 或 *~/.gradle/native * 或文件 *~/. gradle/native/libnative-platform.so * 是否具有有效权限(不应为只读,运行
chmod -R 755 ~/.gradle
即可)。如果您根本看不到本机文件夹,或者本机文件夹似乎已损坏,请使用
-g
或--gradle-user-home
选项运行Gradle任务ex:gradle clean build
并传递其值。例如:如果我运行
mkdir /tmp/newG_H_Folder; gradle clean build -g /tmp/newG_H_Folder
,您将看到Gradle将填充所有所需的文件夹/文件(甚至在运行任何任务或任何选项之前需要运行),这些文件现在都位于这个新的Gradle主文件夹(即/tmp/newG_H_Folder/.gradle目录)中。从该文件夹中,您可以将 *
然后重新启动Gradle任务,它就不会再出错了。
Gradle文档说:https://docs.gradle.org/current/userguide/command_line_interface.html
-g,--gradle-user-home指定Gradle用户主目录。默认为用户主目录中的.gradle目录。
注意事项:使用
gradle <sometask> -g <a_dynamic_folder_ex_jenkins_workspace>
将始终有效,因为Gradle将在-g
定义的文件夹中创建新的.gradle缓存,但这样做不会获得Gradle缓存概念的真正好处。r1zhe5dt2#
如果您使用的是3.4版本的if Gradle,那么它可能是this issue。
要修复此问题,您可以尝试将Gradle发行版更新到3.5或更高版本,在此版本中此问题已得到解决。
0wi1tuuw3#
我运行命令作为sudo和它通过罚款