使用JNLP启动后无响应的应用程序

时间:2010-11-29 20:04:04

标签: java jnlp java-web-start

我正在研究JNLP的内容,我决定尝试运行我用JNLP制作的小应用程序。我创建了一个简单的java程序和jnlp文件。我将jar文件和jnlp文件上传到我的apache服务器,并附带一个html文件以显示Launch按钮。这是jnlp文件(我不是100%确定它是否正确):

<?xml version="1.0" encoding="UTF-8"?>
  <jnlp spec="1.0+" codebase="http://localhost:8080/" href="example.jnlp">
  <information>
      <title>Example</title>
      <vendor>Dev</vendor>
  </information>
  <resources>
      <!-- Application Resources -->
      <j2se version="1.6+"
            href="http://java.sun.com/products/autodl/j2se"/>
      <jar href="Example.jar" main="true" />

  </resources>
  <application-desc name="Example"
       main-class="main.Example"
       width="600"
       height="600">
   </application-desc>
   <update check="background"/>
  </jnlp>

以下是我的apache服务器上的html文件:

<html>
  <head>
    <title>Example</title>
  </head>
  <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 + "example.jnlp";
  document.alert(dir);
      deployJava.createWebStartLaunchButton(url, '1.6.0');
    </script>
  </body>
</html>

问题是,当我单击“启动”按钮时,它会询问我是否要运行example.jnlp。稍后应用程序刚刚打开但是当我点击任何按钮时它们什么都不做。这就好像GUI正在显示,但是所有不足的逻辑都不存在。知道可能是什么问题吗?

1 个答案:

答案 0 :(得分:0)

  

..这是jnlp文件(我不是100%确定它是否正确):..

这不是100%正确。使用JaNeLA进行检查。最值得关注的是“examp.jnlp”的HREF,它似乎与实际名称不符。

  

..以下是我的HTML ..

这也过于复杂,很可能无效,但我怀疑这是问题所在。目前,从普通的旧HTML链接启动JNLP。我猜你正在使用运行1.6+ Java的机器进行测试,因此在这个阶段不需要deployJava.js。

  

..稍后应用程序打开了但是当我点击任何按钮时它们什么都不做。这就好像GUI正在显示,但是所有不足的逻辑都不存在。知道可能是什么问题吗?

没有代码,有点难以说。但一些初步问题是:

  1. 代码吞下 在任何阶段的例外? (如果 所以,立即修复!)

  2. 应用程序启动时在Java控制台中报告了什么?调试时,必须确保控制台在每次启动Java applet或JWS应用程序时都会打开。通过Java Control Panel

  3. 配置控制台可见性