介绍
我最近安装了新的 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:
在这种情况下,我遇到了同样的问题,而应用程序成功执行,如果我尝试启动机器,则会出现以下错误对话框:
最佳答案
scala IDE 可以在 eclipse“continuous build 2020-06”上运行,而且它似乎没有 Big Sur OS 更新时 Oxygen 遇到的问题。
注意:不要尝试将 scala IDE 与任何比“连续构建 2020-06”更新的东西一起使用,因为它不兼容。事实上,使用 2020-06 与 scala IDE 存在轻微的不兼容性,在 Oxygen 上运行它时不会看到这些问题(带有自动完成和非功能性断行标记的弹出警告)。不过它仍然非常有用。
希望 Typesafe 的人能够花一些时间移植 IDE 以使用最新的 eclipse。
关于eclipse - JVM 执行失败 Mac OS 11.0.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64960756/