在HTML页面中使用JNLP作为小程序

4

我尝试在HTML页面中运行我的JNLP文件,但是Java插件无法运行JNLP文件,只能运行Applet。

以下是我的代码:

<applet width="800" height="500" codebase="http://127.0.0.1:8888/applets/"
    code="br.com.app.server.utils.CompatibilityApplet"
    archive="CompatibilityApplet.jar">
            <param name="jnlp_ref" value="http://127.0.0.1:8888/applets/testehellojws.jnlp">
</applet>

谢谢。

[编辑]

举个例子:

http://java.sun.com/javase/ja/6/ea/6u10/plugin2/jnlp/CompatibilityApplet.java

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="6.0+" codebase="http://127.0.0.1:8888/applets/" href="testehellojws.jnlp">
    <information>
        <title>App Hello</title>
        <vendor>My App Jnlp.</vendor>
        <homepage href="http://127.0.0.1:8888/Home.html"/>
        <description>My App Jnlp</description>
        <description kind="short">Appr</description>
        <icon href="images/icone.jpg"/>
    </information>
    <resources>
        <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
        <jar href="hello.jar" main="true"/>
    </resources>
    <application-desc main-class="br.com.app.server.HelloJWS"></application-desc>
</jnlp>

请编辑您的问题并告诉我它已被编辑。
好的。
你错过了documentBase的部分吗?
没有。
我建议删除applet名称属性中的空格。
完成。
你能运行其他嵌入式JNLP小程序吗?例如,在我的网站上小型(沙盒)GIFanim小程序?
可以。
从这里报告给您的是什么信息?
java.vendor:Sun Microsystems Inc. java.version: 1.6.0_26 os.name: Windows 7 os.version:6.1
4个回答

2
<application-desc main-class="br.com.app.server.HelloJWS"></application-desc>

这是Java应用程序的描述符(与小程序相对)。 对于小程序,请使用更类似于..
<applet-desc main-class="br.com.app.server.HelloJWS"></applet-desc>

注意:

  1. 即使这不是一个正确的applet描述符,它也必须明确声明documentBasenamewidthheight。有关详细信息,请参见JNLP文件语法中的applet-desc部分。
  2. 它必须是一个applet。使用这种技术无法将应用程序“嵌入”到网页中。
  3. JNLP和Java插件(对于applet和Web Start都需要)已在Java 9中被弃用并从API中删除。

1
在查看相关帖子后,我决定测试标签


<OBJECT>

我原本以为这个不适用于JNLP,所以我们之前进行了测试。 在修改了

之后,
<APPLET> 

<OBJECT> 

通过将我的jnlp文件作为参数引用,它成功运行了! 浏览器忽略了代码和存档参数并运行了我的JNLP。

谢谢。


在注意到这个答案之前,我添加了一条评论(现已删除)。这让我更加确定它是一个缓存问题。将其更改为object元素可能会欺骗JRE认为它必须重新下载它。但不要满足于此,使用deployJava.js编写正确的applet(/object/embed...等)元素。 - Andrew Thompson
我会尝试。我不知道是否可以在GWT中使用它。谢谢老兄。 - caarlos0

1

你的jnlp_ref应该是一个绝对URI,例如:http://127.0.0.1:8888/applets/testehellojws.jnlp

此外,在你的code值的开头有一个杂散的空格(虽然这可能不是你问题的原因)。


-1
尝试移除 [archive="CompatibilityApplet.jar"]。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接