【问题标题】:JVM failed execution Mac OS 11.0.1JVM 执行失败 Mac OS 11.0.1
【发布时间】:2021-03-05 17:11:03
【问题描述】:

简介


我最近安装了新的 Mac OS 版本 (Big Sur),发现与许多其他用户一样,JVM 兼容性存在问题。

在查看了 SO 和其他网页上的大量帖子后,我发现了一些信息,表明在尝试匹配 JDK 版本时,JAVA_HOME 变量可能存在问题。但不幸的是,这不是我的问题(我仔细检查了路径,它是正确的)。对于那些可能想要仔细检查的人:我的 jdk 版本是 adtopenjdk-8$JAVA_HOME 变量内容:

/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/java 

无论JDK版本如何,问题仍然存在,我尝试了版本8、11和15,所有这些都没有任何效果。


问题处理

经过大量研究,我发现在修改那些使用JVM的程序(Netbeans、Eclipse Scala IDE和VirtualBox)中的配置文件时,每一个都是完整的、部分的和不存在的解决方案。

  • 首先,Netbeans 8.2:

    我在/Applications/NetBeans/NetBeans\ 8.2.app/Contents/Resources/NetBeans/etc/ 目录下找到了netbeans.conf 文件。取消注释该行并添加jdk的路径后:

    netbeans_jdkhome="/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"
    

    我手动指出了 Netbeans 应该寻找的 JVM 路径。这工作得很好!

  • 二、Eclipse IDE for Scala:

    在这种情况下,通过配置文件手动指示 jdk 路径并不完全有效。首先,程序甚至没有启动,而是出现了一个错误对话框,表明没有找到 JVM。谷歌搜索后,我发现编辑/Applications/eclipse.app/Contents/Info.plist文件,可以告诉Eclipse使用什么JDK,而不是使用默认的,并且考虑到Eclipse IDE for Scala的这个版本(4.2)只支持JDK-8,结果修改行如下:

    <string>-vm</string><string>/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/java</string>
    

    在上一行被包含后IDE运行,但令我惊讶的是,在加载编辑器和GUI后,出现了以下内容:

    对于熟悉此 IDE 的人来说,运行/调试图标本应出现在顶部     边距中,但令人惊讶的是它们消失了! 阅读 Eclipse 错误日志文件,我发现了以下堆栈跟踪错误:

!ENTRY org.eclipse.ui 4 0 2020-11-22 23:25:43.969
!MESSAGE Exceptions during shutdown
!STACK 0
java.lang.NullPointerException
 at org.eclipse.swt.widgets.Control.internal_new_GC(Control.java:2176)
 at org.eclipse.swt.graphics.GC.<init>(GC.java:174)
 at org.eclipse.swt.graphics.GC.<init>(GC.java:135)
 at org.eclipse.jface.dialogs.Dialog.shortenText(Dialog.java:357)
 at org.eclipse.jface.dialogs.ProgressMonitorDialog.setMessage(ProgressMonitorDialog.java:624)
 at org.eclipse.jface.dialogs.ProgressMonitorDialog.open(ProgressMonitorDialog.java:650)
 at org.eclipse.jface.dialogs.ProgressMonitorDialog.aboutToRun(ProgressMonitorDialog.java:555)
 at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:480)
 at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:237)
 at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.disconnectFromWorkspace(IDEWorkbenchAdvi...

      在这一点上,我必须承认我完全迷失了。我不知道该怎么办。


  • 第三次(也是我最惨的失败),VirtualBox:

    在这种情况下,我遇到了同样的问题,而应用程序成功执行,如果我尝试启动机器,则会出现以下错误对话框:

【问题讨论】:

  • 这是一个问题吗?问题是什么?这更像是一篇博客文章,而不是 StackOverflow 问题。也许你应该专注于一个特定的问题。
  • 我也更新到了新的 Mac OS 版本 (Big Sur) 并且在 eclipse 中遇到了同样的问题。
  • @Stephen C 正如帖子所说,主要问题是与 JVM 的兼容性问题。每个程序案例都包含在内,以便对问题有更深入的了解。
  • 我也面临同样的问题,谁能帮忙。
  • 我通过更新每个应用程序解决了这个问题。看来问题与JVM版本无关,而确实与应用程序本身有关。

标签: eclipse macos netbeans java-8 jvm


【解决方案1】:

scala IDE 可以在 eclipse "continuous build 2020-06" 上运行,这似乎没有氧气在 Big Sur OS 更新时出现的问题。

注意:不要尝试将 scala IDE 与比“连续构建 2020-06”更新的任何东西一起使用,因为它不兼容。事实上,使用 2020-06 与 scala IDE 存在一些轻微的不兼容性,在 Oxygen 上运行它是看不到的(带有自动完成和非功能性换行标记的弹出警告)。不过还是很好用的。

希望 Typesafe 的人能够花一些时间来移植 IDE 以使用最新的 eclipse。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 2013-11-28
    • 2016-01-22
    • 1970-01-01
    • 2010-10-03
    相关资源
    最近更新 更多