来自JDK1.8.0_161的Java任务控制在Mac OS X上启动时冻结

来自JDK1.8.0_161的Java任务控制在Mac OS X上启动时冻结,java,macos,jmc,Java,Macos,Jmc,我正试图在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) (运行以前的JMC,即/Libr

我正试图在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

(运行以前的JMC,即
/Library/Java/JavaVirtualMachines/jdk1.8.0151.jdk/Contents/Home/bin/JMC

作为一个侧面验证,我在Windows10上成功运行了JDK1.8.0_161的JMC

那么你也经历过同样的问题吗

是否有一些设置需要调整以使其正常工作? (例如,这是否与Mac OS X Gatekeeper有关!)


以及如何正确地向Oracle报告。。。我搜索了他们的bug数据库但没有成功,当我试图提交bug时,我无法确定哪个是正确的子类别(c.f.),因为JMC没有在工具部分列出。。。有什么建议吗

不幸的是,这是我们最近发现的一个bug,它是由旧的Eclipse/SWT版本和JDK 8u152(从JDK 9进行后端口)中完成的新修复之间的不兼容引起的

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


(Oracle内部)错误参考:JMC-5139有一个解决方法,正如@jwatkins在评论中提到的

  • 从下载swt可可罐
  • 转到JDKs jmc路径(右键单击dock->Options->Show in Finder中的jmc图标,然后右键单击App->Show Package Contents,可以找到此路径)

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

  • 使用
    sudocp~/Downloads/swt.jar复制下载的zip的swt.jar
    plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar
  • 重新启动jmc

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

    我也有同样的问题,如果您不介意使用eclipse,您可以安装此插件:

    但当我最终设法运行Java任务控制时(虽然不是最新的版本,但它仍然在无需大量工作的情况下解除了我的封锁):

  • 下载(我带了
    JavaSE开发工具包8u91
  • 我把它放在我的/Library/Java/JavaVirtualMachines存储库中我没有更改环境变量,因为我想继续使用更新的版本
  • 我启动了放在jdk1.8.0_91.jdk/Contents/Home/lib/missioncontrol/Java missioncontrol.app中的应用程序

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

    这提到了三种解决方案,但我遵循@Rasika Perera answer在JDK 1.8.0202上解决了这个问题

    或者,您可以下载适用于MacOS的JDK任务控制的最新版本

    java版本“1.8.0_162”上仍然存在此漏洞@klara这甚至在JDK 8u152中也不起作用。此问题始于JDK 8u152,我不知道在即将发布的JDK 8更新版本中有任何修复此漏洞的工作。1.8.0_171上仍然存在此漏洞。您知道哪些版本的SWT受到此漏洞的影响吗?我们在一个本地应用程序中遇到了类似的问题,实际上使用的是“旧版本”的SWT,但在SWT的bug跟踪器上找不到相应的问题…与JDK 10.0.1I附带的JMC 6一起工作我有JDK 1.8.0_202,它没有“org.eclipse.SWT.cocoa.macosx.x86_64_3.103.1.v20140903-1947.jar”⇒ ls plugins/org.eclipse.swt.cococoa.macosx*plugins/org.eclipse.swt.cococoa.macosx.nl_ja_4.4.0.v2014062300002.jar plugins/org.eclipse.swt.cocoa.macosx.x86_64.nl_ja_4.4.0.v201404; 20140623020002.jar plugins/org.eclipse.swt.coa.macosx.nl_4.4.0.0.v20140623020002.jar plugins/org.eclipse插件的版本似乎是,当你复制一个替换插件时,会导致启动失败。第一步中的链接确实会返回,但我尝试过的所有镜像都是404。改为使用这个:并下载了最新版本(在我的例子中是3.109)。工作!我修复了SWT版本3.108.0的异常。最新版本对我来说是有缺陷的。jdk v1.8.0Ó为我工作。使用了jar的3.108.0版本。谢谢@RasikaPerera