Java 来自 JDK 1.8.0_161 的任务控制在 Mac OS 启动时冻结 X

Java Mission Control from JDK 1.8.0_161 frozen upon startup on Mac OS X

我正在尝试启动 Java 任务控制,如 JDK 1.8.0_161 在 Mac OS X High Sierra (10.13 .2,带有 2018 年 1 月的补充更新)并且 JMC 应用程序被冻结,即我无法在 JVM 浏览器面板中浏览。

因为我安装了其他以前的JDK,所以我用以下版本成功检查了 JMC:

所以这个问题是非常具体的 JDK 1.8.0_161.

(要查看你的 JDKs,运行 命令 /usr/libexec/java_home -V)

(致 运行 前 JMC,即 /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/jmc

作为侧面验证,我 运行 JDK 1.8 的 JMC。0_161 在 Windows 10 上成功。

那么你遇到过同样的问题吗?

是否有一些设置可以调整以使其正常工作? (例如,这会是与 Mac OS X Gatekeeper 相关的问题吗!?)

以及如何正确地将其报告给 Oracle ...我已经搜索了他们的错误数据库但没有成功,当我尝试提交错误时,我无法确定哪个是正确的子类别(c.f . https://bugreport.java.com/submit_intro.do), 因为 JMC 没有列在工具部分...有什么建议吗!?

不幸的是,这是我们最近发现的一个错误,由旧 Eclipse/SWT 版本与 JDK 8u152(从 JDK 9 向后移植)中完成的新修复不兼容造成。

解决方法是 运行 旧版本 JDK 8,或最新版本 JDK 7(包括相同版本的 JMC)。 JDK 9 也可以,包括新的 JMC 6。

(Oracle 内部)错误参考:JMC-5139

正如@jwatkins 在评论中提到的那样,有一个解决方法。

  1. here 下载 swt cocoa jar。
  2. 进入JDKs jmc路径(可以在dock中右击jmc图标找到该路径->选项->在Finder中显示,然后右击App->显示包内容).

    • 例如:cd /Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home/lib/missioncontrol
  3. 使用 sudo mv plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar ../

  4. 备份现有的 jar
  5. 使用 sudo cp ~/Downloads/swt.jar plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar
  6. 复制下载的 zip swt.jar
  7. 重启jmc

注意:记住!您新复制的 jar 文件的名称应该与旧文件的名称完全相同(它使用 OSGi bundles.info 加载 jar)

我有同样的问题,如果你不介意使用 eclipse,你可以安装这个插件:https://marketplace.eclipse.org/content/java-mission-control.

但由于 我最终设法 运行 Java 任务控制(虽然不是最新版本,但它仍然在没有大的工作范围的情况下解锁我):

  1. 下载an older JDK version(我拍了Java SE Development Kit 8u91
  2. 我将它放在我的 /Library/Java/JavaVirtualMachines 存储库中。 我没有更改我的环境变量,因为我想继续使用较新的版本。
  3. 我启动了放在jdk1.8的app。0_91.jdk/Contents/Home/lib/missioncontrol/Java任务Control.app

根据官方网站,这是一个已知问题。自 2018 年 1 月以来,他们似乎没有对此采取任何措施。

https://www.oracle.com/technetwork/java/javase/jmc55-release-notes-2412446.html#known-iss

那提到了三个解决方案,但我按照@Rasika Perera 的回答在 JDK 1.8 上解决了这个问题。0_202

或者您可以下载此最新版本的 JDK Mission Control,它适用于 MacOS https://www.oracle.com/java/technologies/javase/products-jmc7-downloads.html