SOLVED: Version mismatch error

We began our jME3 project using the SDK and recently decided to switch to the nightly SVN build along with Eclipse. We have the project working on the nightly build in the SDK, but in Eclipse this error is thrown:



[java]Exception in thread “LWJGL Renderer Thread” java.lang.LinkageError: Version mismatch: jar version is ‘17’, native libary version is ‘18’

at org.lwjgl.Sys.(Sys.java:103)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:182)

at java.lang.Thread.run(Thread.java:619)[/java]



After searching the forums I thought maybe the lwjgl.jar file was outdated in the lib folder of the nightly build zip, but after replacing it with 2.6 the version is still 17. Any help would be greatly appreciated!

if youa re useing eclipse, I strongly suggest to installa eclipse svn team provider (aka subclipse) and then checkout the jme3 project from the svn. ( you have acces to the test cases, all source and you could change the linked librarys (and versions)

We’ve been using subclipse for svn checkout in eclipse, and I just deleted the project and imported it through svn, but no go. Any other ideas?

try deleting the extracted .dll in you path (or similar on other os)

Why did you want to switch from jMP?

EmpirePhoenix said:
try deleting the extracted .dll in you path (or similar on other os)


By the extracted .dll, you mean the lwjgl(.so)(.dll) in the main folder of the project? If so, unfortunately this doesn't fix the issue :( . They get extracted again, yet there's still a version mismatch. I'm at home now on windows 7, rather than on the computers at school running fedora 13, however I'm still getting the same issue just with jar version 21 and native library version 22 on windows.

normen said:
Why did you want to switch from jMP?


We're doing a project as a part of a school organization, and we're usually quite busy and don't have too much time to devote to the project. All of us are very familiar with eclipse and after spending time with the jMP we've decided we much prefer to do our work in eclipse rather than spend our time fighting with the IDE. The other thing is that we haven't really found much of a use for the jMP, partly because the SceneViewer window refuses to even open on the campus's fedora 13 computers, but also because we're all programmers and haven't seen much of a use for it anyway. We're having fun with jME 3, it's just that we really love eclipse and have grown a bit of a distaste for the IDE.

The other, more minor issue is that because most of our development is while we're all on campus, we have to have the jMP installed on our school profiles. Given that we often go over our measly space quota of 875mb, it would be nice if we could get rid of the jMP to free up space for our other projects.


Edit: Believe I found the issue. When we originally began the project we were using jME 2, then switched over to 3 about a week later. We still have the jME2 project folder in our referenced projects list, which seems to have led to it choosing the lwjgl.jar file from the jME2 lib folder every time. Will update one more time after messing with it a bit more.

Edit2: Version mismatch error is now gone! Unfortunately now it won't load textures correctly, throwing a null pointer when trying to do so. Works fine in the jMP though.

assetManager.registerLocator(“models/”, ClasspathLocator.class.getName());



is something like this missing

EmpirePhoenix said:
assetManager.registerLocator("models/", ClasspathLocator.class.getName());

is something like this missing


This wasn't exactly the issue, but it ended up helping me find it :D. It was just a difference of where the classpath was for jMP and eclipse. Everything seems to be working correctly now, thanks a bunch!