我有一个基于gwt的应用程序试图通过jnlp文件(jws)启动applet。 这样的事情:How to display java applet inside GWT page?
我没有直接启动applet,而是指定参数jnlp_href使用jnlp文件来启动它。
我的jnlp文件看起来像 -
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.6+" codebase="." href="jconsole.jnlp">
<information>
<title>JConsole WebStart</title>
<description>Launching JCOnsole via web start</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se" />
<jar href="launchJConsoleAppletForRose.jar" main="true"/>
<jar href="common.jar"/>
</resources>
<applet-desc
name="MyJConsoleApplet"
main-class="rose.applet.LaunchJConsole"
width="100%"
height="100%">
</applet-desc>
这里的问题是它在IE11和Firefox中启动良好。我启用了调试和显示控制台,当通过jnlp启动applet时,我得到了正确的控制台消息。 但是,它不适用于chrome v 47.0。几秒钟后窗口就消失了。没有日志消息,堆栈跟踪或控制台输出。 任何想法如何调试这个或什么可能是错的?
答案 0 :(得分:0)
Chrome中不再支持小程序:https://java.com/en/download/faq/chrome.xml
(顺便说一下,在其他浏览器中,鉴于Java有关沙箱漏洞的历史,建议你禁用applet)
答案 1 :(得分:0)
现在已修复。我将我的applet类重写为独立的java应用程序。但是,我需要创建动态jnlp,因为我的主类需要一些运行时参数。我通过我的gwt入门类通过servlet映射将参数传递给jsp。 jsp负责动态生成jnlp文件,如http://justobjects.org/cowcatcher/browse/advjava/slides/java-dev-env/core/deploy/slide.0.20.html中所述,它解决了这个问题。
干杯!