[英]Java Mission Control from JDK 1.8.0_161 frozen upon startup on Mac OS X
I'm trying to launch Java Mission Control as provided in the JDK 1.8.0_161 on Mac OS X High Sierra (10.13.2, with Supplemental Update of January 2018) and the JMC application is frozen, ie I'm unable to browse in the JVM Browser panel.我正在尝试在 Mac OS X High Sierra(10.13.2,2018 年 1 月的补充更新)上启动 JDK 1.8.0_161 中提供的 Java Mission Control,并且 JMC 应用程序被冻结,即我无法浏览JVM 浏览器面板。
As I've other former JDK installed, therefore I've checked JMC with the following versions with success:由于我安装了其他以前的 JDK,因此我已成功检查了以下版本的 JMC:
So the problem is very specific to the JDK 1.8.0_161.所以这个问题非常特定于 JDK 1.8.0_161。
(To see your JDKs, run the command /usr/libexec/java_home -V
) (要查看您的 JDK,请运行命令
/usr/libexec/java_home -V
)
(To run a former JMC, ie /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/jmc
) (要运行以前的 JMC,即
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/jmc
)
As a side verification, I've run the JMC of the JDK 1.8.0_161 on Windows 10 with success.作为侧面验证,我在 Windows 10 上成功运行了 JDK 1.8.0_161 的 JMC。
So do you experience the same issue ?那么您是否遇到同样的问题?
Is there some settings to tweak to have it working ?是否有一些设置可以调整以使其正常工作? (Eg would it be an issue related to Mac OS X Gatekeeper !?)
(例如,这会不会是与 Mac OS X Gatekeeper 相关的问题!?)
And how to report it to Oracle properly ... I've searched their bug database without success, and when I try to submit a bug, I cannot figure which would be the right subcategory (cf https://bugreport.java.com/submit_intro.do ), as JMC is not listed in the TOOLS section ... Any advice !?以及如何正确地向 Oracle 报告......我搜索了他们的错误数据库但没有成功,当我尝试提交错误时,我无法确定哪个是正确的子类别(参见https://bugreport.java.com /submit_intro.do ),因为 JMC 没有列在工具部分......有什么建议!?
There's a workaround for this, as mentioned by @jwatkins in a comment.正如@jwatkins 在评论中提到的,有一个解决方法。
Go to JDKs jmc path (You can find this path by right-clicking on jmc icon in the dock -> Options -> Show in Finder, Then right click on App -> Show Package Contents).转到 JDKs jmc 路径(您可以通过右键单击 Dock 中的 jmc 图标 -> 选项 -> 在 Finder 中显示,然后右键单击应用程序 -> 显示包内容来找到此路径)。
cd /Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home/lib/missioncontrol
cd /Library/Java/JavaVirtualMachines/jdk<version>.jdk/Contents/Home/lib/missioncontrol
Back up exisiting jar using sudo mv plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar ../
使用
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
sudo cp ~/Downloads/swt.jar plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar
复制下载的 zip 的 swt.jarjmc
jmc
NOTE : Remember!注意:记住! your new copied jar file's name should be exactly as the old one(it uses OSGi bundles.info to load jars)
您新复制的 jar 文件的名称应与旧的完全相同(它使用 OSGi bundles.info 加载 jar)
This is unfortunately a bug that we recently discovered, caused by incompatibilities between old Eclipse/SWT versions and new fixes done in JDK 8u152 (backported from JDK 9).不幸的是,这是我们最近发现的一个错误,由旧 Eclipse/SWT 版本与 JDK 8u152(从 JDK 9 向后移植)中完成的新修复之间的不兼容引起。
Workaround is to run older version of JDK 8, or the latest version of JDK 7 (which includes the same version of JMC).解决方法是运行旧版本的 JDK 8 或最新版本的 JDK 7(包括相同版本的 JMC)。 JDK 9 also works, with the new JMC 6 included.
JDK 9 也适用,包括新的 JMC 6。
(Oracle Internal) bug reference: JMC-5139 (Oracle 内部)错误参考:JMC-5139
I had the same issue and if you don't mind using eclipse, you can install this plugin: https://marketplace.eclipse.org/content/java-mission-control .我有同样的问题,如果你不介意使用 eclipse,你可以安装这个插件: https : //marketplace.eclipse.org/content/java-mission-control 。
But as Klara's accepted answer I eventually managed to run Java Mission Control (not the very newest version though but it still unblock me without big workarround):但是作为Klara 接受的答案,我最终设法运行了 Java Mission Control(虽然不是最新版本,但它仍然可以在没有大的解决方法的情况下解除对我的阻止):
Java SE Development Kit 8u91
)Java SE Development Kit 8u91
)This is a known issue according to the official website.根据官方网站,这是一个已知问题。 And they don't seem to be doing anything about it since Jan 2018.
自 2018 年 1 月以来,他们似乎没有采取任何措施。
https://www.oracle.com/technetwork/java/javase/jmc55-release-notes-2412446.html#known-iss https://www.oracle.com/technetwork/java/javase/jmc55-release-notes-2412446.html#known-iss
That mentions three solutions but I followed @Rasika Perera answer to fix this issue on JDK 1.8.0_202这提到了三个解决方案,但我按照@Rasika Perera 的回答在 JDK 1.8.0_202 上解决了这个问题
Or you can download this latest version of JDK Mission Control which works on MacOS https://www.oracle.com/java/technologies/javase/products-jmc7-downloads.html或者您可以下载适用于 MacOS https://www.oracle.com/java/technologies/javase/products-jmc7-downloads.html 的最新版本的 JDK Mission Control
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.