无法打开 java 版本 jdk1.8.0_191.jdk 的 jmc

not able to open jmc for java version jdk1.8.0_191.jdk

我有一个 mac 系统。每当我尝试打开 java JMC 时,它都打不开。我只能看到对话框的最大化、最小化和关闭按钮。我使用的 jdk 版本是 jdk1.8.0_191.jdk.

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

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

(Oracle 内部)bug reference: JMC-5139

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

Download the swt cocoa jar from here.
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).

For example:  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
../

Copy downloaded zip's swt.jar using sudo cp ~/Downloads/swt.jar
plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar
Restart jmc

它适用于 1.8.0_171