1

我正在尝试使用 jnlp 部署小程序

我的 jnlp 文件:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.6" codebase="http://localhost:8080/docRuleTool/appletjars/" href="dynamictree-applet.jnlp">
    <information>
        <title>dynamictree</title>
        <vendor>dynamic</vendor>
    </information>
    <resources>
        <j2se version="1.6" href="http://localhost:8080/docRuleTool/appletjars/" />
        <jar href="dynamictree.jar" main="true" />
        <jar href="prefuse.jar" main="true" />
    </resources>
    <applet-desc 
         name="dynamictree-applet"
         main-class="com.vaannila.utility.dynamicTreeApplet.class"
         width="1000"
         height="1000">
     </applet-desc>
     <update check="background"/>
</jnlp>

我的小程序代码:

<script src="http://www.java.com/js/deployJava.js"></script>
<script>
    var attributes = { id:'DynamicApplet', code:'jstojava.dynamicTreeApplet',} ;
    var parameters = {jnlp_href:'./appletjars/dynamictree-applet.jnlp'} ;
    deployJava.runApplet(attributes, parameters, '1.6');
</script>

我的 javascript :

function showSelected(value){
alert("the value given from  "+value);  
DynamicApplet.dieasenameencode=value; 
}

我得到的错误:

execption: The application has requested a version of the JRE (version 1.6) that currently is not locally installed. Java Web Start is unable to automatically download and install the requested version. This JRE must be installed manually..
JNLPException[category: System Configuration : Exception: null : LaunchDesc: 
<jnlp spec="1.6" codebase="http://localhost:8080/docRuleTool/appletjars/" href="http://localhost:8080/docRuleTool/appletjars/dynamictree-applet.jnlp">
  <information>
    <title>dynamictree</title>
    <vendor>dynamic</vendor>
    <homepage href="null"/>
  </information>
  <update check="background" policy="always"/>
  <resources>
    <java href="http://localhost:8080/docRuleTool/appletjars/" version="1.6"/>
    <jar href="http://localhost:8080/docRuleTool/appletjars/dynamictree.jar" download="eager" main="true"/>
    <jar href="http://localhost:8080/docRuleTool/appletjars/prefuse.jar" download="eager" main="true"/>
  </resources>
  <applet-desc name="dynamictree-applet" main-class="com.vaannila.utility.dynamicTreeApplet.class" documentbase="http://localhost:8080/docRuleTool/" width="1000" height="1000"/>
</jnlp> ]
    at sun.plugin2.applet.JNLP2Manager.downloadJREResource(Unknown Source)
    at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(Unknown Source)
    at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Exception: JNLPException[category: System Configuration : Exception: null : LaunchDesc: 
<jnlp spec="1.6" codebase="http://localhost:8080/docRuleTool/appletjars/" href="http://localhost:8080/docRuleTool/appletjars/dynamictree-applet.jnlp">
  <information>
    <title>dynamictree</title>
    <vendor>dynamic</vendor>
    <homepage href="null"/>
  </information>
  <update check="background" policy="always"/>
  <resources>
    <java href="http://localhost:8080/docRuleTool/appletjars/" version="1.6"/>
    <jar href="http://localhost:8080/docRuleTool/appletjars/dynamictree.jar" download="eager" main="true"/>
    <jar href="http://localhost:8080/docRuleTool/appletjars/prefuse.jar" download="eager" main="true"/>
  </resources>
  <applet-desc name="dynamictree-applet" main-class="com.vaannila.utility.dynamicTreeApplet.class" documentbase="http://localhost:8080/docRuleTool/" width="1000" height="1000"/>
</jnlp> ]
4

1 回答 1

1

问题在于这一行:

<j2se version="1.6" href="http://localhost:8080/docRuleTool/appletjars/" />

Java Web Start 将尝试从 href 属性中给出的 url 下载 Jre 1.6。修正后的版本如下:

<j2se version="1.6" href="http://java.sun.com/products/autodl/j2se" />

可在此处找到示例 JNLP 文件:通过 Java Web Start 分发您的 Swing 应用程序

于 2011-09-15T17:57:01.867 回答