首页 > 解决方案 > java:重定位错误:jdk180_301/jre/lib/amd64/libnio.so:符号 initInetAddressIDs,版本 SUNWprivate_1.1 未在文件 libnet.so 中定义

问题描述

任何见解,即使是遥远的,都值得赞赏。这对我来说是一个新的。

部署从 JDK6 升级到 JDK8 的现有 Batch Java 进程(继承系统)。我在 PROD Linux 服务器上运行 jar 文件时遇到此消息。Java(TM) SE 运行时环境 (build 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

运行使用 Java 8 构建的 JAR(301,然后是 251,然后是 60……以防万一) Run Command + classpath 是(为便于阅读而格式化):

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 

这似乎是 Java 版本不匹配问题(调用已安装的 Oracle JRE 中不可用的符号的依赖 JAR 文件??)

标签: javalinuxsuseoraclelinux

解决方案


推荐阅读