来自JDK 1.8.0_161的macos Java任务控制在Mac OS X上启动时冻结
我正试图在Mac OS X High Sierra(10.13.2,2018年1月补充更新)上启动JDK 1.8.0¡中提供的Java任务控制,JMC应用程序被冻结,即我无法在JVM浏览器面板中浏览
由于我安装了其他以前的JDK,因此我成功地使用以下版本检查了JMC:
- 1.8.0_121
- 1.8.0_144
- 1.8.0_151
因此,这个问题对于JDK1.8.0_161来说非常特殊
(要查看JDK,请运行命令/usr/libexec/java_home -V
)
(运行前联合军委会,即/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/jmc
)
作为一个侧面验证,我在Windows10上成功运行了JDK1.8.0_161的JMC
那么你也经历过同样的问题吗
是否有一些设置需要调整以使其正常工作? (例如,这是否与Mac OS X Gatekeeper有关!)
以及如何正确地向Oracle报告。。。我搜索了他们的bug数据库但没有成功,当我试图提交bug时,我无法确定哪个是正确的子类别(c.f.https://bugreport.java.com/submit_intro.do),因为JMC没有在工具部分列出。。。有什么建议吗
# 1 楼答案
正如@jwatkins在评论中提到的那样,有一个解决方法
转到JDKs jmc路径(右键单击dock中的jmc图标->;Options->;Show in Finder,然后右键单击App->;Show Package Contents,可以找到此路径)
cd /Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home/lib/missioncontrol
使用
sudo mv plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar ../
sudo cp ~/Downloads/swt.jar plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar
的jarjmc
注意:记住!新复制的jar文件的名称应与旧文件完全相同(它使用OSGi bundles.info加载jar)
# 2 楼答案
根据官方网站,这是一个众所周知的问题。自2018年1月以来,他们似乎没有采取任何行动
https://www.oracle.com/technetwork/java/javase/jmc55-release-notes-2412446.html#known-iss
这提到了三种解决方案,但我遵循@Rasika Perera answer在JDK 1.8.0202上解决了这个问题
或者,您可以下载适用于MacOS的JDK任务控制的最新版本 https://www.oracle.com/java/technologies/javase/products-jmc7-downloads.html
# 3 楼答案
我也有同样的问题,如果您不介意使用eclipse,您可以安装这个插件:https://marketplace.eclipse.org/content/java-mission-control
但随着Klara's accepted answer我最终成功运行了Java任务控制(虽然不是最新的版本,但它仍然可以在没有大工作量的情况下解除我的阻塞):
Java SE Development Kit 8u91
)# 4 楼答案
不幸的是,这是我们最近发现的一个bug,它是由旧的Eclipse/SWT版本和JDK 8u152(从JDK 9进行后端口)中完成的新修复之间的不兼容引起的
解决方法是运行较旧版本的JDK 8或最新版本的JDK 7(其中包括相同版本的JMC)。JDK9也可以工作,包括新的JMC6
(Oracle内部)错误参考:JMC-5139