无法安装 Eclipse - 在 Mac 上“无法创建 Java 虚拟机”

Bra*_*rks 20 java eclipse

我正在尝试安装 Eclipse,但无法启动安装程序。它失败了

“未能创建 Java 虚拟机”

我该如何解决这个问题?

注意:我在 Mac 上。

Jua*_*ich 28

编辑文件 /Applications/Eclipse.app/Contents/Info.plist

有使用特定 JVM 的注释:

<key>Eclipse</key>
<array>
    <!-- to use a specific Java version (instead of the platform's default) uncomment one of the following options,
        or add a VM found via $/usr/libexec/java_home -V -->
    <string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk8u192-b12/Contents/Home/jre/</string>
    <string>-keyring</string>
    <string>~/.eclipse_keyring</string>
</array>
Run Code Online (Sandbox Code Playgroud)


And*_*ann 19

我也花了一些时间来弄清楚这一点。主要的收获是eclipse 不支持 SDK 版本 14(从 eclipse 2020-03 开始​​)。这对我来说并不完全明显。

  1. 安装支持的版本(我使用 Homebrew 安装 SDK V8 ):

    brew cask install adoptopenjdk/openjdk/adoptopenjdk8
    
    Run Code Online (Sandbox Code Playgroud)

    如果这是您安装的唯一 Java 版本,您应该没问题,Eclipse 应该会打开。如果不是这种情况并且您安装了另一个 Java 版本。您必须告诉 Eclipse 它应该使用哪个版本的 Java(请参阅步骤 2)。

  2. /Applications/Eclipse.app/Contents/Info.plist按照Juan Ignacio BarisichBrad Parks 的描述,通过编辑文件来告诉 Eclipse 使用哪个版本。那是您在步骤 1 中安装的版本

    brew cask install adoptopenjdk/openjdk/adoptopenjdk8
    
    Run Code Online (Sandbox Code Playgroud)
    nano /Applications/Eclipse.app/Contents/Info.plist
    # or
    open /Applications/Eclipse.app/Contents/Info.plist
    
    Run Code Online (Sandbox Code Playgroud)

免责声明:请记住,这些是我让 eclipse 再次运行所采取的步骤。因为我没有资格就此给出准确的答案,所以请查看评论,以防万一我出错了。

编辑:请参阅Christian Fries 的回答,他指出 Eclipse 支持所有 Java 版本 8 到 13。

  • 不,这不是真的。在 macOS 上,由于 Java 错误,Eclipse 无法与 Oracle Java 14.0.0 一起运行,但**在 14.0.1 上运行良好**。请参阅[此处了解详细信息](/sf/answers/4254010281/)。请注意,这个问题甚至在 Java 14 发布之前就已提出。 (6认同)

Bra*_*rks 14

对我来说,我必须编辑eclipse-inst.ini位于此处的文件:

Eclipse Installer.app/Contents/Eclipse/eclipse-inst.ini
Run Code Online (Sandbox Code Playgroud)

在 .ini 文件的最顶部添加到我的本地 java VM 的路径,它在这里:

-vm
/Users/bparks/jdk/jdk1.8.0_162_x64/bin/java
Run Code Online (Sandbox Code Playgroud)

如果Eclipse Installer.app文件在 DMG 中,请右键单击它并复制它,然后将其粘贴到另一个文件夹中。然后右键单击该应用程序文件,并选择“显示包内容”,以进入应用程序内的文件。

如果您已经安装了 Eclipse,并发现它抛出相同的错误,您可以通过为 Eclipse 编辑以下文件来尝试类似的方法:

/Applications/Eclipse.app/Contents/Eclipse/eclipse.ini
Run Code Online (Sandbox Code Playgroud)

在 Mac 上,您可以通过在终端中运行以下命令来获取 Java exe 所需的完整路径,这会将路径复制到剪贴板。

$ echo $(/usr/libexec/java_home)/bin/java | pbcopy
Run Code Online (Sandbox Code Playgroud)


Chr*_*ies 11

注意Eclipse 2020-03 中也存在错误“ Failed to create the Java Virtual Machine ” (在某些情况下,请参阅https://bugs.eclipse.org/bugs/show_bug.cgi?id=561273),但不是需要使用 Java 8(使用 Eclipse 2020-03)。

对于不耐烦的人:

您可以使用给定的 VM 运行 Eclipse 或 Eclipse 安装程序,而无需eclipse.ini通过命令行启动它:

  • 打开终端运行:

  • open PATHTOECLIPSEINSTALLER/Eclipse\ Installer.app --args -vm /Library/Java/JavaVirtualMachines/NAMEOFJDK/Contents/Home/bin

其中PATHTOECLIPSEINSTALLER是Eclipse Installer所在文件夹的路径,是NAMEOFJDKJDK所在文件夹的名称(11、12、13)。

例如:

open Downloads/Eclipse\ Installer.app --args -vm /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/bin

在安装程序中,您可以选择 Eclipse 使用的 VM。在此处使用兼容的 VM,安装程序将为eclipse.ini您修改。

解释 TL;DR

为了澄清这个问题:

Eclipse - 比如说 Eclipse 2020-03 - 使用 Java 11、Java 12、Java 13 运行,但不使用 Java 14 运行。它失败并显示消息“无法创建 Java 虚拟机”。安装程序和 Eclipse 本身都会发生这种情况。

您可以从这里下载没有安装程序的 Eclipse:https : //www.eclipse.org/downloads/packages/

解释:

在 macOS 上,如果您启动新安装的 Eclipse,它将使用默认的 JVM。默认的 JVM 是通过运行获得的/usr/libexec/java_home

该程序/usr/libexec/java_home会默认查找已安装的版本最高的JDK。也就是说,如果您安装了 JDK 14 并运行 Eclipse 2020-03,您将看到此错误。

解决方案

在这里总结一些其他答案,有三个选项:

  1. 从 /Library/Java/JavaVirtualMachines/ 中删除 JDK 14 后,错误将消失。

  2. 如果您想安装 JDK 14,请通过命令行使用不同的 JDK 启动安装程序 open Path-to-Eclipse-Installer/Eclipse\ Installer.app --args -vm /Library/Java/JavaVirtualMachines/NAMEOFJDK/Contents/Home/bin

  3. 您可以编辑 eclipse.ini (如其他答案中所建议的)以使用特定的 JVM。