Hi, I am running Windows XP with Eclipse and JME Physics 2.1
I get the folowing error when trying to run some code:
01-may-2008 20:16:18 com.jmex.physics.PhysicsSpace scanAvailableImplementations
ADVERTENCIA: Failed to use physics implementation 'com.jmex.physics.impl.ode.OdePhysicsSpace$OdeFactory' due to Exception/Error: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at org.odejava.Odejava.<clinit>(Odejava.java:77)
at com.jmex.physics.impl.ode.OdePhysicsSpace$OdeFactory.getImplementationVersion(OdePhysicsSpace.java:210)
at com.jmex.physics.PhysicsSpace.scanAvailableImplementations(PhysicsSpace.java:370)
at com.jmex.physics.PhysicsSpace.create(PhysicsSpace.java:339)
at com.jmex.physics.util.SimplePhysicsGame.initSystem(SimplePhysicsGame.java:90)
at com.jme.app.BaseGame.start(Unknown Source)
at Lesson1.main(Lesson1.java:99)
01-may-2008 20:16:18 class Lesson1 start()
GRAVE: Exception in game loop
java.lang.IllegalStateException: No physics implementation was registered nor found!
at com.jmex.physics.PhysicsSpace.create(PhysicsSpace.java:347)
at com.jmex.physics.util.SimplePhysicsGame.initSystem(SimplePhysicsGame.java:90)
at com.jme.app.BaseGame.start(Unknown Source)
at Lesson1.main(Lesson1.java:99)
I think it's trying to get some function from the native, I am using odejava.dll that comes with the latest stable release of odejava, JME Physics 2.1 does not include any dll file. Where can I get the right one?
Thanks.
Both jME Physics 2.1 release, as well as the CVS version include a odejava.dll.
Your error message complains about a missing log4j.jar not about a native file.
Sorry to bother you, I got log4j.jar and now I get this error message:
01-may-2008 23:16:06 org.odejava.Odejava <clinit>
GRAVE: Native code library (32 and 64 bit library) failed to load: java.lang.UnsatisfiedLinkError: org.odejava.ode.OdeJNI.ODEJAVA_VERSION_get()Ljava/lang/String;
java.lang.UnsatisfiedLinkError: org.odejava.ode.OdeJNI.ODEJAVA_VERSION_get()Ljava/lang/String;
at org.odejava.ode.OdeJNI.ODEJAVA_VERSION_get(Native Method)
at org.odejava.ode.OdeConstants.<clinit>(OdeConstants.java:12)
at org.odejava.Odejava.getLibraryVersion(Odejava.java:140)
at org.odejava.Odejava.<clinit>(Odejava.java:89)
at com.jmex.physics.impl.ode.OdePhysicsSpace$OdeFactory.getImplementationVersion(OdePhysicsSpace.java:210)
at com.jmex.physics.PhysicsSpace.scanAvailableImplementations(PhysicsSpace.java:370)
at com.jmex.physics.PhysicsSpace.create(PhysicsSpace.java:339)
at com.jmex.physics.util.SimplePhysicsGame.initSystem(SimplePhysicsGame.java:90)
at com.jme.app.BaseGame.start(Unknown Source)
at Lesson1.main(Lesson1.java:99)
01-may-2008 23:16:07 com.jmex.physics.PhysicsSpace scanAvailableImplementations
ADVERTENCIA: Failed to use physics implementation 'com.jmex.physics.impl.ode.OdePhysicsSpace$OdeFactory' due to Exception/Error: java.lang.UnsupportedOperationException: Failed to load natives
java.lang.UnsupportedOperationException: Failed to load natives
at org.odejava.Odejava.init(Odejava.java:125)
at com.jmex.physics.impl.ode.OdePhysicsSpace$OdeFactory.getImplementationVersion(OdePhysicsSpace.java:210)
at com.jmex.physics.PhysicsSpace.scanAvailableImplementations(PhysicsSpace.java:370)
at com.jmex.physics.PhysicsSpace.create(PhysicsSpace.java:339)
at com.jmex.physics.util.SimplePhysicsGame.initSystem(SimplePhysicsGame.java:90)
at com.jme.app.BaseGame.start(Unknown Source)
at Lesson1.main(Lesson1.java:99)
Caused by: java.lang.UnsatisfiedLinkError: org.odejava.ode.OdeJNI.ODEJAVA_VERSION_get()Ljava/lang/String;
at org.odejava.ode.OdeJNI.ODEJAVA_VERSION_get(Native Method)
at org.odejava.ode.OdeConstants.<clinit>(OdeConstants.java:12)
at org.odejava.Odejava.getLibraryVersion(Odejava.java:140)
at org.odejava.Odejava.<clinit>(Odejava.java:89)
… 6 more
01-may-2008 23:16:07 class Lesson1 start()
GRAVE: Exception in game loop
java.lang.IllegalStateException: No physics implementation was registered nor found!
at com.jmex.physics.PhysicsSpace.create(PhysicsSpace.java:347)
at com.jmex.physics.util.SimplePhysicsGame.initSystem(SimplePhysicsGame.java:90)
at com.jme.app.BaseGame.start(Unknown Source)
at Lesson1.main(Lesson1.java:99)
what I am missing?
Now it's your natives - take the odejava.dll from jME Physics or odejava-jni your version is too old.