在LibGDX中调试基于JNI的LinkageErrors

时间:2014-01-15 10:11:52

标签: java java-native-interface libgdx lwjgl maven-shade-plugin

如何进一步调试与本机版本不匹配的根本原因?

我正在摆弄LibGDX小程序并创建一个带阴影的超级jar来解决所有签名的废话(我删除所有现有的证书,然后在阴影罐上签名)。

当我在由Tomcat的本地实例提供服务的页面上加载applet时,我得到以下异常:

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

非常感谢任何帮助!

0 个答案:

没有答案