Java и LD_LIBRARY_PATH - PullRequest
       43

Java и LD_LIBRARY_PATH

0 голосов
/ 16 ноября 2011

Я столкнулся с проблемой при настройке собственного пути к библиотеке для процесса Java (скажем, com.example.Main), запускаемого с помощью простого сценария bash на 64-разрядной машине CentOS 5.

Соответствующий код скрипта выглядит следующим образом:

#!/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 я поместил некоторые 64-битные собственные библиотеки, которые нужны классу Main.

Однако класс Main приводит к возникновению ошибки InternalError Java, несмотря на то, что файлы библиотеки находятся в /opt/extra/lib64. Однако если я скопирую те же самые библиотечные файлы в /usr/lib64, ошибка исчезнет, ​​и код будет работать, как и ожидалось. (Кстати, env показывает, что LD_LIBRARY_PATH не задано, поэтому / usr / lib64, очевидно, используется некоторыми настройками по умолчанию.)

Это нормальное поведение?

Спасибо!

...