5

タイトルが示すように、現在、システムにJave3Dがインストールされていない可能性のあるユーザーのために、Java3D依存関係を持つアプレットを起動する手段としてJNLPを使用しようとしています。残念ながら、アプレットが起動しようとしているときに、「subapplet.classname」の値が見つからないというエラーが発生しました..

この問題は、java.net Web サイト FourByFour Demo で提供されている例が機能せず、クラスが見つからないという同じ問題で失敗するという事実によって悪化します。

Four by Four のデモを含む Java JNLP Web ページ:

java.net FourByFour デモ

Firefox と IE ブラウザの両方で試してみましたが、違いはありませんでした..

java.net Web サイトで使用されているコードのサンプル:

<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>
4

1 に答える 1

11

Java 3D アプレットの例では、引き続き「org.jdesktop.applet.util.JNLPAppletLauncher」を使用しています。JRE-Version 1.6.0_21-b07 以降、このランチャーは正しく動作せず、メンテナンスされなくなりました。

「The Java Tutorial : Deploying With the Applet Tag」 h ttp://download-llnw.oracle.com/javase/tutorial/deployment/applet/html.html に従って、applet-tag と対応する jnlp-file に切り替えました私のウェブページで。これには JRE 6u10+ が必要です。次のサンプルは公開されており、ここから起動できます。

アプレットを含む 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>

以下も参照してください。

于 2011-01-16T09:11:05.667 に答える