NoSuchMethodError - Physics in WebStart

I am trying to create a simple WebStart application and I keep getting the following exception when I try to run it in WebStart:



java.lang.NoSuchMethodError: com.jme.math.Quaternion.set(Lcom/jme/math/Quaternion;)V

        at com.jmex.physics.PhysicsSynchronizer.update(PhysicsSynchronizer.java:86)

        at com.jme.scene.Spatial.updateWorldData(Unknown Source)

        at com.jme.scene.Node.updateWorldData(Unknown Source)

        at com.jme.scene.Spatial.updateGeometricState(Unknown Source)

        at com.jme.scene.Node.updateWorldData(Unknown Source)

        at com.jme.scene.Spatial.updateGeometricState(Unknown Source)

        at com.jme.app.SimpleGame.initGame(Unknown Source)

        at com.jme.app.BaseGame.start(Unknown Source)

        at test.Test01.main(Test01.java:196)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

        at java.lang.reflect.Method.invoke(Unknown Source)

        at com.sun.javaws.Launcher.executeApplication(Unknown Source)

        at com.sun.javaws.Launcher.executeMainClass(Unknown Source)

        at com.sun.javaws.Launcher.continueLaunch(Unknown Source)

        at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)

        at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)

        at com.sun.javaws.Launcher.run(Unknown Source)

        at java.lang.Thread.run(Unknown Source)



This is running with the JME-Physics Engine downloaded 8/6/2005 from the web site and referencing the nightly JNLP file for JME.  What do I need to change to make this work?  It would seem as though the nightly build of JME does not have a method that the Physics Engine is looking for?



Please advise, I'm very excited about the potential of the new physics engine, but am having great difficulties getting everything to work inside of WebStart.



Thank you,



darkfrog

I have gotten past that bug by building the JME Physics API from the source and plugging it into my primary jar but now it's not able to find the ODE library on other machines.  It works on mine, but I believe that's because I've already run several WebStart demos over at Xith.



My little test is at: http://www.pyramex.com/webstart/GameTest01.jnlp if anyone has time to check and see what it is I'm doing wrong.  I dropped the odejava.dll file in the root of the primary JAR but apparently that's not good enough for it.



Thanks,



darkfrog

The native libraries must reside in a separate jar and these must be specified as native - have a look at the jME jnlps.

That's what I've been trying to do but every time I do it says that it either can't validate the signature or that there different signatures.  I don't suppose there is a extension JNLP like there is for jME but for ODE? :slight_smile:



Actually the easiest thing would be for there to be an extension JNLP that includes jME, ODE, and the jME Physics stuff so the project's JNLP doesn't have to be concerned about any of that.



I'll take a look at the jME stuff some more tonight and hopefully I'll be able to figure it out.  I've spent so much time on this.  Either it's extremely complicated or I've just made it so. :o



Thanks,



darkfrog

Okay, I've gotten even further now.



After building jME, jME-Physics, and odejava from the source, signing each jar, packaging up odejava.dll and lwjgl.dll and referencing them properly in my JNLP it worked on my machine.  However, when I tried to execute it on my wife's machine I got the following stacktrace (note that like 196 refers to the start() method on my SimpleGame):





Aug 8, 2005 4:53:49 PM com.jme.scene.Node attachChild

INFO: Child (Sphere) attached to this node (rootNode)

Aug 8, 2005 4:53:49 PM com.jmex.physics.PhysicsWorld addObject

INFO: Physics Object (Sphere) has been added to the PhysicsWorld

org.lwjgl.opengl.OpenGLException: Stack overflow (1283)

        at org.lwjgl.opengl.Util.checkGLError(Util.java:56)

        at org.lwjgl.opengl.Display.update(Display.java:515)

        at com.jme.renderer.lwjgl.LWJGLRenderer.displayBackBuffer(Unknown Source)

        at com.jme.app.BaseGame.start(Unknown Source)

        at test.Test01.main(Test01.java:196)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

        at java.lang.reflect.Method.invoke(Unknown Source)

        at com.sun.javaws.Launcher.executeApplication(Unknown Source)

        at com.sun.javaws.Launcher.executeMainClass(Unknown Source)

        at com.sun.javaws.Launcher.continueLaunch(Unknown Source)

        at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)

        at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)

        at com.sun.javaws.Launcher.run(Unknown Source)

        at java.lang.Thread.run(Unknown Source)

Aug 8, 2005 4:53:49 PM com.jme.app.SimpleGame cleanup

INFO: Cleaning up resources.

Aug 8, 2005 4:53:49 PM com.jme.app.BaseGame start

INFO: Application ending.



Note that this is referencing what occurs when I execute:



http://www.pyramex.com/webstart/GameTest01.jnlp



Thank you,



darkfrog

Okay, I have tested the application on several other machines and believe that it's my wife's laptop that is the problem.  Everything seems to be running fine.



For anyone that have yet to see a demo of the jME-Physics engine my very basic test I did is available:



http://www.pyramex.com/webstart/GameTest01.jnlp



I'll post something more official when I have something more to show off.



darkfrog

This is running with the JME-Physics Engine downloaded 8/6/2005 from the web site and referencing the nightly JNLP file for JME.


If that's in the standard date format, I'd suggest you start using the latest version of jme-physics as a lot have changed since then!

Great, I will take a look at that this evening and see how far outside of the scope of my knowledge it is. :o



I have no current plans of implementing ragdolls in the game I am currently developing but definitely would like to utilize it in the future.  Between programming all day long for a living and coming home and programming in the evenings trying to write a game my time is somewhat limited but I will help in any way I can.



A major feature I would like to see implemented is shadows.  I have not found anything currently being developed in the repository, but that's not to say I just wasn't looking hard enough.



Thanks,



darkfrog

Yeah, I've started updating jME, jME-Physics, and OdeJava daily from CVS in the evenings when I start programming on this stuff. :slight_smile:



BTW, who do I need to talk to if I wanted to help out with some of the coding on jME and/or jME-Physics?



Thanks,



darkfrog

darkfrog said:


BTW, who do I need to talk to if I wanted to help out with some of the coding on jME and/or jME-Physics?

Help is very welcomed!

Me and Irrisor are in charge of jme-physics, and mojomonk and renanse are in charge of jME.

Currently, what we need most is someone to work on those ragdolls. It looked like caveman was going to do this, but I havn't heard of him in a while. It's been discussed here:
http://www.jmonkeyengine.com/jmeforum/index.php?topic=2003.0