Docker Jenkins代理中的Gradle构建

des4xlb0  于 12个月前  发布在  Docker
关注(0)|答案(3)|浏览(183)

我正在尝试创建一个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.

字符串
请帮助我了解这个问题,并让我知道如何解决这个问题。

llmtgqce

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缓存概念的真正好处。

r1zhe5dt

r1zhe5dt2#

如果您使用的是3.4版本的if Gradle,那么它可能是this issue
要修复此问题,您可以尝试将Gradle发行版更新到3.5或更高版本,在此版本中此问题已得到解决。

0wi1tuuw

0wi1tuuw3#

我运行命令作为sudo和它通过罚款

相关问题