我在 Jenkins 运行作业时遇到 java.lang.UnsatisfiedLinkError 问题。
<error message="no JSTAF in java.library.path" type="java.lang.UnsatisfiedLinkError">java.lang.UnsatisfiedLinkError: no JSTAF in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
at java.lang.Runtime.loadLibrary0(Runtime.java:840)
at java.lang.System.loadLibrary(System.java:1047)
基本上我需要设置LD_LIBRARY_PATH
设置后,它可以从命令行执行正常工作。例如,当我设置LD_LIBRARY_PATH
像下面这样:
export LD_LIBRARY_PATH=</proj/lib>:$LD_LIBRARY_PATH
设置后,代码执行可以从命令行正常运行。
我尝试过设置这个LD_LIBRARY_PATH
使用EnvInjectPlugin
并注入了LD_LIBRARY_PATH
.
我仍然不确定为什么詹金斯不接受这个LD_LIBRARY_PATH
。如何设置才能使 Jenkins 作业执行正常工作?
我昨天在这里发布了类似问题的答案:KDevelop4:加载共享库时出错 https://stackoverflow.com/questions/21409558/kdevelop4-error-while-loading-shared-libraries/21418289#21418289
实际上,LD_LIBRARY_PATH 在许多 Linux 操作系统中已被弃用。使用 /etc/ld.so.conf.d 中的配置文件并运行ldconfig
在启动詹金斯之前。 (参见上面引用的帖子)
编辑[解决方案]:
在聊天中讨论后,问题已通过添加解决:
#!/bin/bash
export LD_LYBRARY_PATH=${LD_LIBRARY_PATH}:<myPathForJenkins>
在一个简短的脚本中/etc/profile.d/并将其设置为可执行chmod +x
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)