在运行 Java 1.6.0 update 16 的 64 位 RHEL5 上,root 可以成功运行 Java 程序,但用户不能,因为libjli.so应该找不到。关闭SELinux,程序运行前环境不变。我试过放入libjli.so,LD_LIBRARY_PATH但没有任何区别。
我该如何解决这个错误?
想到的第一个可能性libjli.so是只能通过 root 读取。所以第一步:
ls -l $(locate libjli.so)
Run Code Online (Sandbox Code Playgroud)
如果它位于奇怪的位置(不在/usr/lib或 中/lib),则创建/etc/ld.so.conf.d/java.conf包含目录路径的文件,libjli.so并/sbin/ldconfig以 root 身份运行。
有关更多故障排除信息,请以 root 用户和非 root 用户身份运行此命令:
ldd java
Run Code Online (Sandbox Code Playgroud)
在一个理智的世界中,两者的输出将是相同的。它们的不同之处应该可以告诉您很多关于失败的原因。
| 归档时间: |
|
| 查看次数: |
35818 次 |
| 最近记录: |