如何进一步调试与原生版本不匹配的根本原因?
我正在摆弄 LibGDX 小程序并创建一个带阴影的 uber-jar 来绕过所有的签名废话(我去掉了所有现有的证书,然后将我自己的证书签名到带阴影的 jar 上)。
当我在本地 Tomcat 实例提供的页面上加载小程序时,出现以下异常:
This occurred while 'Switching applet'
null
java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(EventQueue.java:1272)
at java.awt.EventQueue.invokeAndWait(EventQueue.java:1247)
at org.lwjgl.util.applet.AppletLoader.run(AppletLoader.java:778)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.LinkageError: Version mismatch: jar version is '25', native library version is '19'
我认为这是因为有 Java 类需要特定版本的本机库,但发现的本机版本较旧。如何找到这些版本号的定义位置,以便尝试追踪不匹配的来源?
这是我的 Maven(是的,我知道,没有人喜欢 Maven)依赖树。我正在使用 LibGDX 1.0-SNAPSHOT,我相信它取决于 LWJGL 2.9.0。我可能遗漏了一些东西,但我看不到任何旧版本的当地人偷偷溜进来。
[INFO] com.binarytweed:f2pmsoppa-libgdx-core:jar:1.0-SNAPSHOT
[INFO] +- com.binarytweed:f2pmsoppa-libgdx-scripting:jar:1.0-SNAPSHOT:compile
[INFO] | \- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.7:compile
[INFO] | \- org.codehaus.jackson:jackson-core-asl:jar:1.9.7:compile
[INFO] +- com.binarytweed:f2pmsoppa-libgdx-shared:jar:1.0-SNAPSHOT:compile
[INFO] +- com.badlogicgames.gdx:gdx:jar:1.0-SNAPSHOT:compile
[INFO] +- com.google.guava:guava:jar:14.0:compile
[INFO] +- cglib:cglib:jar:3.0:compile
[INFO] | \- org.ow2.asm:asm:jar:4.0:compile
[INFO] +- org.ow2.asm:asm-util:jar:4.0:compile
[INFO] | \- org.ow2.asm:asm-tree:jar:4.0:compile
[INFO] | \- (org.ow2.asm:asm:jar:4.0:compile - omitted for duplicate)
[INFO] +- org.mockito:mockito-core:jar:1.9.5:test
[INFO] | +- (org.hamcrest:hamcrest-core:jar:1.1:test - omitted for conflict with 1.3)
[INFO] | \- org.objenesis:objenesis:jar:1.0:test
[INFO] +- com.badlogicgames.gdx:gdx-backend-lwjgl:jar:1.0-SNAPSHOT:test
[INFO] | +- (com.badlogicgames.gdx:gdx:jar:1.0-SNAPSHOT:test - omitted for duplicate)
[INFO] | +- com.badlogicgames.gdx:gdx-openal:jar:1.0-SNAPSHOT:test
[INFO] | | +- (com.badlogicgames.gdx:gdx:jar:1.0-SNAPSHOT:test - omitted for duplicate)
[INFO] | | +- (org.lwjgl.lwjgl:lwjgl:jar:2.9.0:test - omitted for duplicate)
[INFO] | | +- com.badlogicgames.jlayer:jlayer:jar:1.0.1-gdx:test
[INFO] | | \- org.jcraft:jorbis:jar:0.0.17:test
[INFO] | +- org.lwjgl.lwjgl:lwjgl:jar:2.9.0:test
[INFO] | | +- org.lwjgl.lwjgl:lwjgl-platform:jar:natives-windows:2.9.0:test
[INFO] | | +- org.lwjgl.lwjgl:lwjgl-platform:jar:natives-linux:2.9.0:test
[INFO] | | +- org.lwjgl.lwjgl:lwjgl-platform:jar:natives-osx:2.9.0:test
[INFO] | | \- net.java.jinput:jinput:jar:2.0.5:test
[INFO] | | +- net.java.jutils:jutils:jar:1.0.0:test
[INFO] | | +- net.java.jinput:jinput-platform:jar:natives-linux:2.0.5:test
[INFO] | | +- net.java.jinput:jinput-platform:jar:natives-windows:2.0.5:test
[INFO] | | \- net.java.jinput:jinput-platform:jar:natives-osx:2.0.5:test
[INFO] | \- org.lwjgl.lwjgl:lwjgl_util:jar:2.9.0:test
[INFO] | \- (org.lwjgl.lwjgl:lwjgl:jar:2.9.0:test - omitted for duplicate)
[INFO] +- com.badlogicgames.gdx:gdx-platform:jar:natives-desktop:1.0-SNAPSHOT:compile
[INFO] +- junit:junit:jar:4.11:test
[INFO] | \- (org.hamcrest:hamcrest-core:jar:1.3:test - omitted for conflict with 1.1)
[INFO] \- org.hamcrest:hamcrest-core:jar:1.3:test
任何帮助将非常感激!