java - OSX 阻止 JNLP 启动 Java1.8U40 - 有人知道为什么吗?

标签 java macos block jnlp

我们将应用程序部署为 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/

相关文章:

selenium - Nunit 在运行测试套件时锁定

java - JD-GUI反编译后源码有注释

java - 未找到 void org.opencv.core.Core.rotate_0 的实现

使用 %.2f 的 Java 小数

macos - 通过AppleScript调用Cocoa函数removeItemAtPath

windows - 在不同位置安装nodejs的最佳方法是什么

java - 在多个 Activity 中使用 AsyncTask

ios - Xcode:无法检查应用程序包

c - 阻塞的系统调用不会让 SIGKILL 终止进程

ruby-on-rails - Ruby 结构创建 block 无法访问 block 外的变量