2012-10-08 94 views
1

我有一个使用webstart的EJB 3.0项目,我试图将它作为WAR部署到JBoss AS 7.1.1。我能到HTML页面就好了,但是当我点击它试图从http://java.sun.com下载JRE 1.7和与此错误弹出Webstart的链接:启动时发生Java Webstart错误

"AutoDL?BundleId=68742" on java.sun.com is not a Java installer. 

这里是我的战争的目录结构:

root of war(dir) 
-->GrahamsProjClient-webstart.jnlp 
-->GrahamsProjStartAppPage.html 
-->app(dir) 
    -->GrahamsProjClient.jar(The actual client project) 
-->META-INF(dir) 
    -->context.xml(blank file) 
    -->MANIFEST.MF 
-->WEB-INF(dir) 
    -->web.xml 
    -->classes(dir) contains my compiled servlet 
    -->lib(dir) 
     -->jboss-servlet-api_3.0_spec-1.0.0.Final.jar 
     -->jnlp-servlet.jar 

通过以下链接从战争中的重要文件:

GrahamsProjClient-webstart.jnlp - >http://pastebin.com/zwkm1zz3

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp codebase="$$codebase"> 
<information> 
    <title>Grahams Project</title> 
    <vendor>Graham</vendor> 
    <description>desc</description> 
</information> 
<resources> 
    <j2se version="1.6"/> 
    <jar href="GrahamsProjClient.jar"/> 
</resources> 
<application-desc/> 
</jnlp> 

GrahamsProjStartAppPage.html - >http://pastebin.com/EXu8Z5dZ

web.xml文件 - >http://pastebin.com/KK3fPPY9

GrahamsProjServlet.java - >http://pastebin.com/iC9JDiTL

可能是什么造成的?

回答

0

摆弄它一段时间后,我碰到了解决方案。在GrahamsProjStartAppPage.htmldeployJava.createWebStartLaunchButton()命令需要有1.6.0+而不是1.6.0。所以html文件现在看起来像这样:

<body> 
<!-- ... --> 
<script src= 
    "http://www.java.com/js/deployJava.js"></script> 
<script> 
    // using JavaScript to get location of JNLP 
    // file relative to HTML page 
    var dir = location.href.substring(0, 
     location.href.lastIndexOf('/')+1); 
    //var url = dir + "GrahamsProjClient-webstart.jnlp"; 
    var url = "http://127.0.0.1:8080/GrahamsProjClient/GrahamsProjClient-webstart.jnlp" 
    deployJava.createWebStartLaunchButton(url, '1.6.0+'); //changed from 1.6.0 to 1.6.0+ 
</script> 
<!-- ... --> 
</body>