Java Webstart在启动应用程序之前停止

时间:2015-08-24 09:44:04

标签: java java-web-start jnlp

我们的webstart应用程序(不是applet)遇到了奇怪的启动问题。

启动应用程序会显示应用程序启动画面,但javaws进程会在对话框,java控制台或日志文件中显示没有任何错误消息后立即终止。似乎javaws在实际启动实际应用程序之前就停止了。 用户是否尝试从桌面快捷方式或从网页启动应用程序无关紧要。 在没有webstart的本地计算机上使用javaw运行时,相同的应用程序没有任何问题。

应用程序是已签名的应用程序(真实证书,而不是自签名应用程序),用户可以在桌面上使用应用程序的快捷方式。 jnlp定义应用程序可以脱机运行,并且使用timeout -option进行update-check。 服务器端使用jnl-servlet 来提供正确的jar版本。

每次都不会出现此问题,但如果启动失败一次,很可能(我们已经观察到大约90%的确定性)后续启动也会失败。 重新启动计算机似乎没有帮助。该问题仅限于少数计算机。大多数用户(98%)没有这个问题。

所有失败的系统都在运行Windows 7 Pro 。 Java版本可能会有所不同,但一个例子是64位Java 1.8.0_60,Win7Pro,64位intel-i3处理器。

造成这类问题的原因是什么?任何有关解决问题的帮助都非常感谢。特别是因为似乎没有任何错误消息可以帮助查明问题。

1 个答案:

答案 0 :(得分:0)

我遇到了1.8.0_60的问题,当在JNLP文件的doctype中引用每个url时,似乎强制执行DTD验证。 Webstart尝试下载DTD,没有互联网连接,应用程序无法启动。这在1.8.0_51中不是问题。

作为解决方法,我们从JNLP中删除了doctype。

<!DOCTYPE jnlp PUBLIC "-//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" "http://java.sun.com/dtd/JNLP-6.0.dtd">