错误的ELF类:ELFCLASS64

时间:2016-07-21 13:53:32

标签: java jvm 32bit-64bit

我有一个java应用程序试图加载外部库但我一直得到相同的异常。

Caused by: java.lang.UnsatisfiedLinkError: /test/software/libraries/libraries/bin/libxejni.so: ld.so.1: java: fatal: /test/software/libraries/libraries/bin/libxejni.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method) ~[?:1.7.0_79]
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965) ~[?:1.7.0_79]
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890) ~[?:1.7.0_79]
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1880) ~[?:1.7.0_79]
    at java.lang.Runtime.loadLibrary0(Runtime.java:849) ~[?:1.7.0_79]
    at java.lang.System.loadLibrary(System.java:1088) ~[?:1.7.0_79]

这与试图加载64位本机共享库的32位JVM有关。但是我的java版本是64位

  

java version" 1.7.0_79" Java(TM)SE运行时环境(构建   1.7.0_79-b15)Java HotSpot(TM)64位服务器VM(内置24.79-b02,混合模式)

应用程序是使用maven构建的,任何人都有任何线索可以解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:0)

检查应用程序需要加载的libxejni.so是32位还是64位,然后为32位或64位{{1}指定java -d32java -d64选项分别在运行你的应用程序时。