Java和LD_LIBRARY_PATH

时间:2011-11-15 20:53:25

标签: java bash nativelibrary

在为64位CentOS 5计算机上的简单bash脚本启动的Java进程(例如com.example.Main)设置本机库路径时,我遇到了一个问题。

相关的脚本代码如下:

#!/bin/bash

export JAVA_HOME=/usr/local/java
export EXTRA_LD_LIBRARY_PATH=/opt/extra/lib64:/opt/extra/java/libs

${JAVA_HOME}/bin/java -Djava.library.path=${EXTRA_LD_LIBRARY_PATH}:${LD_LIBRARY_PATH} com.example.Main

EXTRA_LD_LIBRARY_PATH中,我放置了Main类所需的一些64位本机库。

但是,Main类会导致抛出Java InternalError,尽管库文件位于/opt/extra/lib64中。但是,如果我将这些相同的库文件复制到/usr/lib64,则错误消失,代码按预期工作。 (顺便说一句,env显示未设置LD_LIBRARY_PATH,因此某些默认设置显然使用/ usr / lib64。)

这是正常行为吗?

谢谢!

0 个答案:

没有答案