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

4
我们的WebStart应用程序(不是小程序)遇到了奇怪的启动问题。
启动应用程序会显示应用程序闪屏,但javaws进程在没有任何错误消息显示在对话框、Java控制台或日志文件的情况下很快终止。似乎javaws在实际启动实际应用程序之前就停止了。无论用户是从桌面快捷方式还是从网页尝试启动应用程序都没有关系。当使用本地计算机上的javaw运行时,同一应用程序没有任何问题。
该应用程序是签名应用程序(真实证书,而不是自签名),用户在桌面上有应用程序的快捷方式。jnlp定义应用程序可以离线运行,并使用timeout选项进行更新检查。服务器端使用jnl-servlet提供正确的jar版本。
该问题并非每次发生,但如果此类启动失败一次,则很可能(我们观察到约90%的确定性)随后的启动也会失败。重新启动计算机似乎不能解决这个问题。该问题仅限于少数计算机。大多数用户(98%)没有这个问题。
所有出现故障的系统均运行Windows 7 Pro。Java版本可能有所不同,但其中一个例子是64位Java 1.8.0_60、Win7Pro、64位英特尔i3处理器。
这种问题的原因是什么?对于解决此问题的任何帮助都将不胜感激。特别是因为似乎没有任何可用的错误消息来帮助确定问题。

我们面临着同样的问题。看起来像是一个bug,因为8.60版本说明中并没有提到JNLP的任何更改。 - Rodrigo Almeida
你是否已经打开了Java控制台?它显示出来了吗?里面有什么信息吗?你也可以将Java控制台输出重定向到文件中,这可能会很有用,如果它只是短暂地出现然后消失了。 - Matt McHenry
控制台已经打开,但是没有任何消息显示。我也尝试启用日志记录到文件中,但是也没有任何迹象(可能是日志配置有误)。 - Jupe
我们遇到了相同的问题。你能够确定问题出在哪里吗? - jansohn
https://dev59.com/knI-5IYBdhLWcg3wVWpi - Lycone
1个回答

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">

在我们的情况下,计算机已经拥有了可用的网络连接,但在任何情况下都值得尝试。 - Jupe
我们尝试从jnlp中删除doctype定义,但仍然面临相同的问题。问题在于我们无法确定每次或至少经常重现该问题的步骤。到目前为止,问题似乎相当随机发生。 - Jupe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接