Problem using JNLP to launch applet with Java3D dependencies
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 i开发者_StackOverflow社区s 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>
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
精彩评论