可执行.JAR的OpenGL错误(架构字不匹配?)

时间:2016-08-20 12:28:38

标签: java maven opengl executable-jar jogl

我使用Java,JOGL和Maven创建了一个基于OpenGL的应用程序。我正在使用Arch Linux for ARM on a 32-bit machine。当我在开发环境中构建项目时,应用程序会加载并成功执行。

当我使用maven-assembly-plugin生成一个包含我编译的应用程序代码及其所有依赖项的JAR时,可执行JAR在它能够建立OpenGL上下文之前终止,并且出现了我以前从未见过的错误:

Java HotSpot(TM) Server VM warning: You have loaded library /tmp/jogamp_0000/file_cache/jln5003285820939498405/jln7050454496148437271/libgluegen-rt.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/jogamp_0000/file_cache/jln5003285820939498405/jln7050454496148437271/libgluegen-rt.so: /tmp/jogamp_0000/file_cache/jln5003285820939498405/jln7050454496148437271/libgluegen-rt.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
    at java.lang.Runtime.load0(Runtime.java:809)
    at java.lang.System.load(System.java:1086)
    at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:575)
    at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:63)
    at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:95)
    at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:459)
    at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:421)
    at com.jogamp.common.os.Platform$1.run(Platform.java:317)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.jogamp.common.os.Platform.<clinit>(Platform.java:287)
    at com.jogamp.opengl.GLProfile.<clinit>(GLProfile.java:146)
    at com.jogamp.opengl.util.AnimatorBase.<clinit>(AnimatorBase.java:112)
    at com.app.main(Main.java:123)

你知道这可能是什么问题吗?值得一提的一件事是我在这台机器上使用模拟图形,所以我依赖于软件光栅化。

0 个答案:

没有答案