我正在研究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正在显示,但是所有不足的逻辑都不存在。知道可能是什么问题吗?
答案 0 :(得分:0)
..这是jnlp文件(我不是100%确定它是否正确):..
这不是100%正确。使用JaNeLA进行检查。最值得关注的是“examp.jnlp”的HREF,它似乎与实际名称不符。
..以下是我的HTML ..
这也过于复杂,很可能无效,但我怀疑这是问题所在。目前,从普通的旧HTML链接启动JNLP。我猜你正在使用运行1.6+ Java的机器进行测试,因此在这个阶段不需要deployJava.js。
..稍后应用程序打开了但是当我点击任何按钮时它们什么都不做。这就好像GUI正在显示,但是所有不足的逻辑都不存在。知道可能是什么问题吗?
没有代码,有点难以说。但一些初步问题是:
应用程序启动时在Java控制台中报告了什么?调试时,必须确保控制台在每次启动Java applet或JWS应用程序时都会打开。通过Java Control Panel。