29

我正在尝试在 Mac OS X High Sierra(10.13.2,2018 年 1 月的补充更新)上启动 JDK 1.8.0_161 中提供的 Java Mission Control,并且 JMC 应用程序被冻结,即我无法浏览JVM 浏览器面板。

由于我安装了其他以前的 JDK,因此我已成功使用以下版本检查了 JMC:

  • 1.8.0_121
  • 1.8.0_144
  • 1.8.0_151

所以这个问题非常具体到 JDK 1.8.0_161。

(要查看您的 JDK,请运行命令/usr/libexec/java_home -V

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

作为侧面验证,我已经在 Windows 10 上成功运行了 JDK 1.8.0_161 的 JMC。

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

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

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

4

4 回答 4

47

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

  1. 从这里下载 swt 可可罐。
  2. 转到 JDKs jmc 路径(您可以通过右键单击 Dock 中的 jmc 图标 -> 选项 -> 在 Finder 中显示,然后右键单击应用程序 -> 显示包内容来找到此路径)。

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

  4. 使用复制下载的 zip 的 swt.jarsudo cp ~/Downloads/swt.jar plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar
  5. 重新开始jmc

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

于 2018-09-27T12:03:14.280 回答
26

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

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

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

于 2018-01-23T14:20:58.237 回答
5

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

但是作为Klara 接受的答案,我最终设法运行了 Java Mission Control(虽然不是最新版本,但它仍然在没有大工作区的情况下解除了对我的阻止):

  1. 下载旧的 JDK 版本(我拿了Java SE Development Kit 8u91
  2. 我把它放在我的 /Library/Java/JavaVirtualMachines 存储库中。我没有更改我的环境变量,因为我想继续使用更新的版本。
  3. 我启动了放在 jdk1.8.0_91.jdk/Contents/Home/lib/missioncontrol/Java Mission Control.app 中的应用程序
于 2019-01-03T10:36:54.213 回答
1

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

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

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

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

于 2019-07-10T13:16:09.743 回答