【问题标题】:The following required field is missing from the launch file: <jnlp>启动文件中缺少以下必填字段:<jnlp>
【发布时间】:2011-05-24 11:07:49
【问题描述】:

我有一个包含小程序的网页。这引用了一个 JNLP 文件。 Web 应用程序由 Tomcat 提供服务。

我已经使用 JaNeLA 验证了 JNLP 是有效的。为了在本地进行测试,我尝试将所有资源文件放在一个目录中并启动网页 - 小程序已成功显示在浏览器中。

但是,当尝试通过 Tomcat 提供网页时出现此错误

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

我怀疑没有找到JNLP文件,但是在尝试将它放在Tomcat webapps目录下的各个位置以及codebase参数的各种设置之后,仍然没有乐趣。

这是我的 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 中部署它,但目前以上解决了我的问题

【问题讨论】:

    标签: java applet jnlp next-generation-plugin


    【解决方案1】:

    不确定您的 HTML 中的“被新插件拾取”是什么意思。但是,根据http://download.oracle.com/javase/tutorial/deployment/applet/html.html,JNLP 文件应该由 applet 标记内的“jnlp_ref”属性引用。

    【讨论】:

    • 是的,jnlp 文件被该属性拾取。该错误是由 jnlp 文件不可访问引起的。我将它放在解决问题的 Apache Web 服务器根目录中。
    猜你喜欢
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多