3

我有点不知所措,试图让我的 Java 游戏在浏览器中运行。我已经成功地让它作为一个 Java Web Start 应用程序运行,但是将它转换为一个浏览器窗口内的小程序让我发疯了。

MYAPPLET.jnlp:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp href="MYAPPLET.jar" codebase="http://www.myDomain.com/directoryContainingJar/">
    <information>
        <title>Name</title>
        <vendor>----</vendor>
        <offline-allowed />
    </information>
    <resources>
        <j2se version="1.4+"
             href="http://java.sun.com/products/autodl/j2se" />
        <jar href="MYAPPLET.jar" main="true" />
    </resources>
    <applet-desc 
        name="Name"
        main-class="main.MainClass"
        width="700"
        height="600">
    </applet-desc>
</jnlp>

在我的 html 文件中:

<applet width="700" height="600" code="main.MainClass">
     <param name="jnlp_href" value="MYAPPLET.jnlp">
</applet>

加载页面时出现此错误:

ExitException[ 3]MissingFieldException[ The following required field is missing from the launch file: <jnlp>]
    at sun.plugin2.applet.JNLP2Manager.redirectLaunchDesc(Unknown Source)
    at sun.plugin2.applet.JNLP2Manager.initialize(Unknown Source)
    at sun.plugin2.main.client.PluginMain.initManager(Unknown Source)
    at sun.plugin2.main.client.PluginMain.access$300(Unknown Source)
    at sun.plugin2.main.client.PluginMain$2.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Error while initializing manager: ExitException[ 3]MissingFieldException[ The following required field is missing from the launch file: <jnlp>], bail out

我已经改变了主类,所以它extends JApplet不是JFrame但除此之外我不知道该怎么做。

是的,我已经阅读了http://docs.oracle.com/javase/tutorial/deployment/applet/deployingApplet.html和谷歌的错误。

4

2 回答 2

1

JNLP 元素应该是:

<jnlp href="MYAPPLET.jnlp" codebase="http://www.myDomain.com/directoryContainingJar/">

或者,因为将代码库放在第一位会更常见。

<jnlp codebase="http://www.myDomain.com/directoryContainingJar/" href="MYAPPLET.jnlp">

但请确保您使用JaNeLA验证 JNLP 。通过查看它,它可以比我更好地检查 JNLP。

于 2012-01-13T12:17:20.483 回答
0

这似乎是 JDK 1.6 更新 14 中的一个错误:http: //www.canoo.com/jira/browse/UBA-8105。你用的是什么JDK?尝试使用 JDK 1.7。

于 2012-01-13T11:11:58.067 回答