As title says currently trying to use JNLP as a means of launching an applet with Java3D dependenices for any user who may not have Jave3D installed on their system. Unfortunately getting an error to do with the 'subapplet.classname' value not being found, while the applet tries to launch..
This problem is compounded by the fact that the example supplied on the java.net website FourByFour Demo isn't working and fails with the same problem of class not found.
Java JNLP webpage with Four by Four Demo:
java.net FourByFour Demo
Have tried with both Firefox & IE browsers with no difference..
Sample of the code used on the java.net website:
<applet code="org.jdesktop.applet.util.JNLPAppletLauncher"
width=800 height=400
archive="http://download.java.net/media/java3d/webstart/test/j3d-examples.jar,
http://download.java.net/media/applet-launcher/applet-launcher.jar,
http://download.java.net/media/java3d/webstart/release/j3d/latest/j3dcore.jar,
http://download.java.net/media/java3d/webstart/release/j3d/latest/j3dutils.jar,
http://download.java.net/media/java3d/webstart/release/vecmath/latest/vecmath.jar,
http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jar,
http://download.java.net/media/gluegen/webstart/gluegen-rt.jar">
<param name="codebase_lookup" value="false">
<param name="subapplet.classname" value="org.jdesktop.j3d.examples.four_by_four.FourByFour">
<param name="subapplet.displayname" value="Java 3D Four by Four Applet">
<param name="jnlpNumExtensions" value="1">
<param name="jnlpExtension1" value="http://download.java.net/media/java3d/webstart/release/java3d-latest.jnlp">
<param name="progressbar" value="true">
<param name="noddraw.check" value="true">
</applet>
You can use the applet-desc tag within the jnlp file. For example, we have converted our Java applet “SaveToWeb” contained in webnotes.jar so that instead of being launched from html, it is being launched with jnlp.
Make sure your Java source files compiled correctly. If deploying using the <applet> tag, check that the path to the applet JAR file is specified accurately in the archive attribute. If launching using a JNLP file, check the path in the jar tag in the JNLP file.
Your applet can run with Java Web Start technology without any recompilation of the applet. Just convert your applet HTML tags to a Java Network Launching Protocol (JNLP) file using the JNLP applet-desc element, for example:
The applet may require a later version of the Java Runtime Environment software than the version that currently exists on the client. Check the minimumVersion parameter of the runApplet function in the applet's web page. See Deploying an Applet for details.
the Java 3D applet examples still use the 'org.jdesktop.applet.util.JNLPAppletLauncher'. Since JRE-Version 1.6.0_21-b07 this launcher doesn't work properly and is no longer maintained.
Following the 'The Java Tutorial : Deploying With the Applet Tag' h ttp://download-llnw.oracle.com/javase/tutorial/deployment/applet/html.html I switched to the applet-tag and a corresponding jnlp-file on my webpages. This requires JRE 6u10+. The following sample is live and can be launched from here:
Applet incl. loading of Java 3D
<applet codebase="webstart/" width="1200" height="800" align="middle">
<param name="jnlp_href" value="propellerUniverseAPP1.0_J3D.jnlp">
</applet>
JNLP
<?xml version="1.0" encoding="UTF-8"?>
<!-- InteractiveMesh.org TestSpace PropellerUniverse 1.0 Applet J3D -->
<jnlp spec="1.0+" codebase="http://www.interactivemesh.org/testspace/webstart/"
href="propellerUniverseAPP1.0_J3D.jnlp">
<information>
<title>PropellerUniverse 1.0</title>
<vendor>InteractiveMesh</vendor>
<homepage href="http://www.interactivemesh.org/index.html"/>
<description>PropellerUniverse 1.0</description>
<!-- icon href=""/ -->
</information>
<security> </security>
<update check="always" policy="always"/>
<resources>
<j2se version="1.6+"/>
<extension href="http://download.java.net/media/java3d/webstart/release/java3d-latest.jnlp"/>
<jar href="propellerUniverse1.0.jar" main="true"/>
<jar href="jim_j3d-vrml97_v2.1.jar"/>
<jar href="orbitbehaviorinterim2.1.jar"/>
<property name="sun.awt.noerasebackground" value="true"/>
<property name="sun.awt.erasebackgroundonresize" value="true"/>
<property name="sun.java2d.noddraw" value="true"/>
</resources>
<applet-desc main-class="com.interactivemesh.j3d.testspace.canvas3d.PropellerUniverseJApplet"
width="1200" height="800" name="PropellerUniverse">
</applet-desc>
</jnlp>
See also:
Java 3D Web Start Release
Java Web Start Guide
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With