jME with Java Web Start (lwjgl not found)

I have searched around the forums, and I know a lot of people have issues with this, but even based on those posts I can't seem to get this issue to clear itself up.



Here is my JNLP file:



<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.2+"
  codebase="http://127.0.0.1/OVInstall/"
  href="OVInstall.jnlp">

<information>
  <title>Title</title>
  <vendor>Vendor</vendor>
  <homepage href="http://127.0.0.1"/>
  <description>Client Installation</description>
  <offline-allowed/>
</information>

<security>
  <all-permissions/>
</security>

<resources>
  <j2se version="1.6+" />
  <jar href="ModelLoader.jar" main="true"/>
  <jar href="jme.jar"/>
  <jar href="jme-audio.jar"/>
  <jar href="jme-awt.jar"/>
  <jar href="jme-collada.jar"/>
  <jar href="jme-editors.jar"/>
  <jar href="jme-effects.jar"/>
  <jar href="jme-font.jar"/>
  <jar href="jme-gamestates.jar"/>
  <jar href="jme-model.jar"/>
  <jar href="jme-scene.jar"/>
  <jar href="jme-terrain.jar"/>
  <jar href="jme-xml.jar"/>
  <jar href="jogg-0.0.7.jar"/>
  <jar href="jorbis-0.0.15.jar"/>
  <jar href="junit-4.1.jar"/>
  <jar href="jinput.jar"/>
  <jar href="lwjgl.jar"/>
</resources>

<resource os="Windows">
  <j2se version="1.6+"/>
  <nativelib href="win32-natives.jar"/>
</resource>

<resource os="Linux">
  <j2se version="1.6+"/>
  <nativelib href="linux-natives.jar"/>
</resource>

<resource os="Mac OS">
  <j2se version="1.6+"/>
  <nativelib href="macosx-natives.jar"/>
</resource>

<application-desc main-class="ModelLoader"/>
</jnlp>



When I run this, I get the following issue:


Mar 15, 2009 9:31:03 PM com.jme.app.BaseGame start
INFO: Application started.
Mar 15, 2009 9:31:03 PM com.jme.system.PropertiesIO <init>
INFO: PropertiesIO created
Mar 15, 2009 9:31:03 PM com.jme.system.PropertiesIO load
WARNING: Could not load properties. Creating a new one.
Mar 15, 2009 9:31:03 PM class ModelLoader start()
SEVERE: Exception in game loop
[b]java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path[/b]
   at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1753)
   at java.lang.Runtime.loadLibrary0(Runtime.java:823)
   at java.lang.System.loadLibrary(System.java:1030)
   at org.lwjgl.Sys$1.run(Sys.java:72)
   at java.security.AccessController.doPrivileged(Native Method)
   at org.lwjgl.Sys.doLoadLibrary(Sys.java:65)
   at org.lwjgl.Sys.loadLibrary(Sys.java:81)
   at org.lwjgl.Sys.<clinit>(Sys.java:98)
   at org.lwjgl.opengl.Display.<clinit>(Display.java:129)
   at com.jme.system.lwjgl.LWJGLPropertiesDialog.<init>(Unknown Source)
   at com.jme.app.AbstractGame.getAttributes(Unknown Source)
   at com.jme.app.BaseGame.start(Unknown Source)
   at ModelLoader.main(ModelLoader.java:43)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at com.sun.javaws.Launcher.executeApplication(Launcher.java:1332)
   at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1270)
   at com.sun.javaws.Launcher.doLaunchApp(Launcher.java:1117)
   at com.sun.javaws.Launcher.run(Launcher.java:105)
   at java.lang.Thread.run(Thread.java:637)
Mar 15, 2009 9:31:03 PM com.jme.app.BaseSimpleGame cleanup
INFO: Cleaning up resources.
Mar 15, 2009 9:31:03 PM com.jme.system.lwjgl.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
Mar 15, 2009 9:31:03 PM com.jme.app.BaseGame start
INFO: Application ending.



The jnlp looks ok to me.

How does your win32-natives.jar look like? Is it simply containing the dll's in the root folder ?

I'm not sure if the native jars need to be signed, but it cant hurt to do so.

Maybe you should rely on the jnlp file of LWJGL as I did with JOGL. In my case, it works, my demo using JME 2.0 and JOGL works with Java Webstart.

Yeah, I ended up having a separate JNLP file for jME + LWJGL using the signed jars from jMEs site.



In the future I will be modifying it to have everything be signed by me, so there is only one dialogue box that asks for "Trust" that comes up.