我们将应用程序部署为 JNLP 启动文件和/或网页小程序。
我有一个客户将他的 MAC OSX 系统更新到最新的 Java 版本 1.8_40。升级后 JNLP 启动停止工作。它似乎启动 Java(闪烁蓝色 Java Logo )然后停止。没有异常被抛出。我怀疑还有另一个 OSX 安全障碍。
- 我们调整了他的 OSX 安全设置以信任我们的应用程序。
- 我们调整了他的 Java 安全性以信任我们的站点。
- 我们还调整了 Safari 偏好设置以允许应用程序不受限制地运行(“不安全模式”)。
- 应用程序已使用代码签名证书进行签名。
- 客户可以通过 safari Java 插件使用 Applet 启动方法。
- 所有其他客户(OSX 和 Windows)通常都没有问题。 如果这是一个新的 MAC Java 问题,我想提前解决。
还有其他人看到了吗?关于导致问题的原因的任何线索?
最佳答案
我们的猜测是 this bug 的原因已向后移植到 8u40。我们发现,一旦显示新的蓝色 Java 启动画面,应用程序就无法获得焦点。我们还可以在 Oracle 自己的站点上的所有演示 webstart 应用程序上重现它,所以它不是我们的代码。
您可以通过使用 -Xnosplash 运行您的 webstart 实例以跳过启动画面来确认此错误。遗憾的是,您不能将该参数添加到 jnlp 文件中。
我们只能在 OSX 10.10 (Yosemite) 上重现此问题。
解决方法(如果您可以控制客户端 Java 设置)是在 Java 控制面板 -> Java -> 查看... -> 运行时参数中添加“-Xdebug”。
更新:错误已修复,backported to 1.8u40 . Oracle 还悄悄地将他们的下载更新到新版本 (1.8u40b27) seen here我不知道已经运行 1.8u40 的人会自动获得更新。
关于java - OSX 阻止 JNLP 启动 Java1.8U40 - 有人知道为什么吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28865399/