2011-05-24 371 views
1

我有一個包含小程序的網頁。這引用了一個JNLP文件。 網頁應用程序由Tomcat提供。啓動文件中缺少以下必填字段:<jnlp>

我已驗證JNLP是否使用JaNeLA有效。爲了在本地進行測試,我嘗試將所有資源文件放在一個目錄中並啓動網頁 - applet在瀏覽器中成功顯示。

但是當試圖成爲了通過Tomcat的網頁我得到這個錯誤

The following required field is missing from the launch file: <jnlp> 

我懷疑是JNLP文件不被發現,但試圖將它放置在Tomcat的webapps下的各個位置中後目錄和代碼庫參數的各種設置,仍然沒有喜悅。

這是我的JNLP文件

<?xml version="1.0" encoding="utf-8"?> 

    <jnlp href="WWJApplet.jnlp"> 
    <information> 
     <title>World Wind Java Applet Demo</title> 
     <vendor>NASA</vendor> 
     <homepage href="http://worldwind.arc.nasa.gov"/> 
     <description>World Wind Java Applet Demo</description> 
     <description kind="short">World Wind Java Applet Demo</description> 
     <offline-allowed/> 
    </information> 
    <security> 
     <all-permissions/> 
    </security> 
    <resources os="Windows"> 
     <property name="sun.java2d.noddraw" value="true"/> 
    </resources> 
    <resources> 
     <!--property name="sun.java2d.noddraw" value="true"/--> 
     <java version="1.5+"/> 
     <j2se href="http://java.sun.com/products/autodl/j2se" version="1.5+" initial-heap-size="512m" max-heap-size="512m"/> 
     <jar href="mapviewapplet.jar" main="true"/> 
     <!--jar href="WWJApplet.jar" main="true"/--> 
     <jar href="worldwind.jar"/> 
     <jar href="httpclient-4.0.1.jar"/> 
     <jar href="httpcore-4.0.1.jar"/> 
     <extension name="jogl" 
        href="http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jnlp"/> 
    </resources> 
    <!-- Width and heigth are overwritten by the surrounding web page --> 
    <applet-desc 
     name="WWJ Applet" 
     main-class="com.pwr.mapviewer.ui.MapApplet" 
     width="800" height="600"> 
     <param name="separate_jvm" value="true" /> 
    </applet-desc> 
    </jnlp> 

下面是HTML中我的小程序標籤

<applet 
      code="org.jdesktop.applet.util.JNLPAppletLauncher" 
      width=600 
      height=400 
      archive="mapviewapplet.jar, 
        jogl.jar, 
        gluegen-rt.jar, 
        worldwind.jar"> 
      <param name="jnlp_href" value="WWJApplet.jnlp"/> <!-- Picked up by new plugin --> 
      <param name="codebase_lookup" value="false"/> 
      <param name="subapplet.classname" value="com.pwr.mapviewer.ui.MapApplet"/> 
      <param name="subapplet.displayname" value="World Wind Applet"/> 
      <param name="noddraw.check" value="true"/> 
      <param name="progressbar" value="true"/> 
      <param name="jnlpNumExtensions" value="1"/> 

    </applet> 

編輯:我把JNLP,在Apache Web服務器的根目錄下我的所有其他資源一起,並在我的jnlp_href屬性中使用了一個URL -

<param name="jnlp_href" value="http://localhost:80/WWJApplet.jnlp"/> 

我還不確定這是怎麼回事應該在Tomcat中部署,但現在上述解決了我的問題

回答

1

不確定您的HTML中「由新插件拾取」是什麼意思。但是,根據http://download.oracle.com/javase/tutorial/deployment/applet/html.html,應該由applet標記中的「jnlp_ref」屬性引用JNLP文件。

+0

是的jnlp文件是由該屬性選取的。該錯誤是由jnlp文件無法訪問引起的。我把它放在解決問題的Apache Web服務器根目錄中。 – 2011-06-03 08:15:44