java: ошибка перемещения: jdk180_301/jre/lib/amd64/libnio.so: символ initInetAddressIDs, версия SUNWprivate_1.1 не определена в файле libnet.so

#java #linux #suse #oraclelinux

Вопрос:

Любое понимание, даже отдаленное, приветствуется. Это что-то новое для меня.

Развертывание существующего пакетного процесса Java (унаследованная система), обновление с JDK6 до JDK8. Я столкнулся с этим сообщением, запустив файл jar на сервере PROD Linux. Среда выполнения Java(TM) SE (сборка 1.8.0_301-b25)

ПРОДУКТ: SUSE Linux Enterprise Server 11 SP4.
ТЕСТ: «Oracle Linux 7.9»

Контекст: Он работал, как и ожидалось, с тем же точным путем к классу на тестовом сервере. Никакой ошибки.

 java: relocation error: /opt/oracle/products/jdks/jdk180_301/jre/lib/amd64/libnio.so: symbol initInetAddressIDs, version SUNWprivate_1.1 not defined in file libnet.so with link time reference
 

Запуск JAR, построенного на Java 8 (301, затем 251, затем 60…на всякий случай, если в этом проблема)
Выполнить команду путь к классу (отформатирован для удобства чтения):

 java -Xms256M -Xmx3500M
-cp 
/batch/live/local-classes/PRODUCTION.jar
:/batch/live/local-classes/PRODUCTION_MQDownload.jar 
:/batch/live/local-classes/OJDBC8-Full/*
-> MQ Circa 2013 <- 
:/batch/live/local-classes/MQlib/classes12.jar
:/batch/live/local-classes/MQlib/com.ibm.mq.jar
:/batch/live/local-classes/MQlib/com.ibm.mq.jmqi.jar
:/batch/live/local-classes/MQlib/connector.jar
:/batch/live/local-classes/MQlib/com.ibm.mqjms.jar
:/batch/live/local-classes/MQlib/jms.jar
:/batch/live/local-classes/MQlib/jta.jar
-> Apache Commons is most recent <-
:/batch/live/local-classes/commons-codec-1.15.jar
:/batch/live/local-classes/commons-crypto-1.1.0.jar 
 
  • сравнил все БАНКИ пути к классу с тестом.
  • Обновлен .профиль (в SUSE нет .bash_profile) LD_LIBRARY_PATH= и LD_LIBRARY_PATH64=, чтобы выглядеть так же, как в ТЕСТЕ.
  • Созданы различные сборки с более ранними номерами сборок Java SE
  • изменил путь к классу с помощью скомпилированных JAR-файлов Java8, перечисленных сначала как еще один тест

Похоже, это проблема несоответствия версии Java (зависимый файл JAR, вызывающий символ, недоступный в установленном Oracle JRE??)