我正在通过JNLP和Java Web Start启动applet。我的问题是,当页面加载时,两个JVM将启动两个Java控制台弹出窗口和两个“你想运行这个应用程序吗?”弹出窗口。除此之外,applet最终加载,甚至我的本机库也正确加载。我不确定导致双重发射的原因。
编辑:此外,第一个加载的JVM在大约30-45秒后自动关闭。
HTML
<script>
var attributes = { code:"com.osgi.swpc.applet.TrackerApplet.class", width:770, height:825};
var parameters = {jnlp_href: "tracker-applet.jnlp"};
deployJava.runApplet(attributes, parameters, "1.6");
</script>
JNLP
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" href="">
<information>
<title>Tracker</title>
<vendor>My Vendor</vendor>
</information>
<resources os="Windows">
<!-- Application Resources -->
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" />
<jar href="tracker_applet.jar" main="true" />
<nativelib href="applets/jacob.jar"/>
<nativelib href="applets/com4j.jar"/>
</resources>
<applet-desc
name="Tracker Applet"
main-class="com.osgi.swpc.applet.TrackerApplet"
width="770"
height="825">
</applet-desc>
<update check="background"/>
</jnlp>
答案 0 :(得分:0)
嗯...有趣的问题
我不太确定,因为有更多详细信息会很好......但在我第一眼看到我可以注意到你指出主类重复:
......在JS中
var attributes = { code:"com.osgi.swpc.applet.TrackerApplet.class", width:770, height:825};
然后在JNLP
main-class="com.osgi.swpc.applet.TrackerApplet"
所以请尝试只有一个main class attribute。最好留在JNLP并再次尝试发射;
如果您有其他问题详情,请
报告是否有帮助
答案 1 :(得分:0)
我不确定导致双重启动的原因。
这取决于您正在使用的Java的实现,但在最新版本的Oracle JRE(以前是Sun JRE)中,WebStart应用程序将:
(注意我并不是要完整地描述Java WebStart的功能,但我只是尝试对该过程提供一些见解。)
这样,你首先拥有一个javaws
可执行文件,只要下载JAR所需的时间就可以运行,后跟一个java
可执行文件,它将执行实际程序。
答案 2 :(得分:0)
如果MSIE发生这种情况,只想添加一个建议来禁用“智能屏幕过滤器”,尤其是在没有/慢速互联网访问的情况下。
选项的位置取决于MSIE版本,我认为在MSIE 7中它直接在Extras菜单中,而在9中则在Internet选项的安全设置下。