eclipse - JVM 执行失败 Mac OS 11.0.1

标签 eclipse macos netbeans java-8 jvm

介绍


我最近安装了新的 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 之后,出现了以下内容:

    enter image description here

对于那些熟悉这个 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:

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

enter image description here enter image description here

最佳答案

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/

相关文章:

java - 嵌套异常错误java.lang.NoClassDefFoundError

python - 命令行参数 Mac OSX

xcode - Swift:更改 NSbutton 的字体和样式

java - 如何检索绑定(bind)在数据库表中的jComboBox中的对象并将其存储到另一个表

Ruby Netbeans 插件无法安装

eclipse - 如何在eclipse中包含codeigniter框架

eclipse - 如何在 Eclipse 中禁用代码完成?

php - 适用于 Mac 的最佳 PHP IDE? (最好是免费的!)

java - 如何从 Netbeans 组中删除项目

eclipse - 将复杂的 Ant 脚本转换为一组 Eclipse 项目的合理方法是什么?