JDK 1.8.0_161中的Java Mission Control在Mac OS X上启动时冻结

时间:2018-01-23 11:14:56

标签: java macos jmc

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

由于我安装了其他以前的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报告...我已经搜索了他们的bug数据库但没有成功,当我尝试提交错误时,我无法确定哪个是正确的子类别(cf https://bugreport.java.com/submit_intro.do) ,因为JMC没有列在TOOLS部分......任何建议!?

4 个答案:

答案 0 :(得分:28)

有一种解决方法,如@jwatkins在评论中所述。

  1. here下载swt可可罐。
  2. 转到JDK的jmc路径(您可以通过右键单击Dock中的jmc图标->选项->在Finder中显示,然后右键单击App->显示软件包内容来找到此路径)。

    • 例如:else
  3. 使用<div *ngIf="item?.uid === rspe?.uid; else adan">

  4. 备份现有的jar
  5. 使用cd /Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home/lib/missioncontrol复制下载的zip文件的swt.jar
  6. 重新启动sudo mv plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar ../

答案 1 :(得分:22)

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

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

(Oracle Internal)错误参考:JMC-5139

答案 2 :(得分:3)

我遇到了同样的问题,如果您不介意使用eclipse,则可以安装此插件:https://marketplace.eclipse.org/content/java-mission-control

但是作为Klara's accepted answer,我最终设法运行了Java Mission Control(虽然不是最新版本,但在没有很大工作量的情况下仍然可以阻止我):

  1. 下载an older JDK version(我拿了ssh root@${host} "docker images | grep localhost | awk '{print $3}' | xargs docker rmi -f"
  2. 我将其放在/ Library / Java / JavaVirtualMachines存储库中。 我没有更改我的环境变量,因为我想继续使用新版本。
  3. 我启动了放置在jdk1.8.0_91.jdk / Contents / Home / lib / missioncontrol / Java Mission Control.app中的应用程序

答案 3 :(得分:0)

根据官方网站,这是一个已知问题。自2018年1月以来,他们似乎并未对此做任何事情。

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

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