2012-01-13 64 views
3

我在束手无策我还挺试图让我的Java游戏在浏览器中运行。我已经成功地将它作为Java Web Start应用程序运行,但将其转换为浏览器窗口内的小程序让我疯狂。创建一个Java小程序异常:缺<jnlp>场

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的Google'd错误。

+0

请注意,'documentBase'是['applet-desc'元素](http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax)的必需属性。 HTML#applet_desc)。 – 2012-01-13 12:21:28

回答

1

的JNLP元素应该是:

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

,或者因为它是比较常见的有代码库1 ..

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

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

0

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

+0

感谢您的帮助。我偶然发现了另一个错误(我更新了这个问题)。它抱怨缺少字段,即使它可以在我的jnlp文件中看到:( – Chro 2012-01-13 11:17:14

+0

嗯,我使用1.6更新29,但我目前正在安装1.7,以确保它不是那个错误。 – Chro 2012-01-13 11:37:04