2011-08-29 128 views
1

我試圖使用JNLP嘗試使用JNLP

我JNLP文件部署小程序來部署Java小程序:

<?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> 

我的applet代碼:

<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> ] 
+1

什麼是你安裝了JRE/JDK的版本?我猜這不是1.6 - 也許你可以在你的JNLP中使用''(注意'+')? –

回答

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文件可以在這裏找到:Distribute your Swing application via Java Web Start