【发布时间】:2018-01-01 09:29:43
【问题描述】:
Oracle Java 1.8 不查找 /usr/lib/x86_64-linux-gnu/ 文件夹来加载本机库。
我已经安装了 OpenSSL 库,它安装在 /usr/lib/x86_64-linux-gnu/ 文件夹中,但是在使用 System.loadLibrary() 从 Java 加载时,只有查找路径是
/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
我是否缺少一些配置?更新 env LD_LIBRARY_PATH 有效但首选编程方法以避免额外步骤。
编辑
同意。程序化黑客不是可持续的选择。运行本机可执行文件会从arch /usr/lib/x86_64-linux-gnu/ 文件夹加载库。 Java 不在 arch 文件夹中查找。
【问题讨论】:
-
为什么要使用程序化方法?如果你在另一个系统上运行,位置可能会改变,不是吗?
-
是的,确实如此,但在传送 jar 文件时设置 LD_LIBRARY_PATH 可能不可行。
-
您认为为什么需要加载 OpenSSL 库?当 SSL 和 JCE 内置到 JRE 中?
-
具有 GCM 模式的 Java 8 存在性能问题。 stackoverflow.com/questions/25992131/…