eclipse JVM执行失败Mac OS 11.0.1

kq4fsx7k  于 2023-02-12  发布在  Eclipse
关注(0)|答案(1)|浏览(145)

简介

我最近安装了新的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的Scala版本:**

在这种情况下,通过配置文件手动指示jdk路径并不完全起作用。首先,程序甚至没有启动,而是出现了一个错误对话框,表明没有找到JVM。在谷歌搜索后,我发现编辑/Applications/eclipse.app/Contents/Info.plist文件,可以告诉Eclipse使用什么JDK,而不是使用默认的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:**

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

nlejzf6q

nlejzf6q1#

scala IDE可以在eclipse“continuous build 2020-06”上运行,而且看起来没有Oxygen在大苏尔操作系统更新中出现的问题。
注意:不要尝试在scala IDE中使用比“continuous build 2020-06”更新的版本,因为它不兼容。事实上,使用2020-06版本时,会有一些与scala IDE不兼容的地方,而在Oxygen上运行时,你不会看到这些地方(弹出警告,自动完成和不起作用的换行符)。尽管如此,它仍然非常有用。
希望Typesafe的人能够花一些时间来移植IDE以使用最新的eclipse。

相关问题