【问题标题】:Can't install Eclipse - "Failed to create the Java Virtual Machine" on Mac无法安装 Eclipse - Mac 上的“无法创建 Java 虚拟机”
【发布时间】:2019-03-10 04:58:42
【问题描述】:

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

“创建 Java 虚拟机失败”

我该如何解决这个问题?

注意:我在 Mac 上。

【问题讨论】:

    标签: java eclipse


    【解决方案1】:

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

    Eclipse Installer.app/Contents/Eclipse/eclipse-inst.ini
    

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

    -vm
    /Users/bparks/jdk/jdk1.8.0_162_x64/bin/java
    

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

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

    /Applications/Eclipse.app/Contents/Eclipse/eclipse.ini
    

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

    $ echo $(/usr/libexec/java_home)/bin/java | pbcopy
    

    【讨论】:

    • 我知道这是一篇旧帖子,但是如何编辑 eclipse-inst.ini 文件?我曾尝试使用 sudo vi,但我得到“权限被拒绝”或“只读文件”。下载的文件是.dmg
    • 时间太长了——但我猜是我从 DMG 中复制了所有文件,并将它们放在我 Mac 上某个文件夹中,然后对其进行了编辑!
    • 我已经修改了答案,包括我认为我是如何做到的
    • @fin444 卸载 JDK 14 并通过自制软件安装 JDK 8。这解决了我的问题。
    • @user1753491 感谢您的帮助!我卸载了除 8 之外的所有 JDK 版本,并且它工作正常。
    【解决方案2】:

    编辑文件/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>
    

    【讨论】:

    • 你能详细解释一下吗,我打开了文件,现在我不知道下一步该做什么。
    • 已经解释过了。请看一下上面的xml评论。
    【解决方案3】:

    我在 eclipse-java-2020-03-M2-macosx-cocoa-x86_64opendjdk11 中遇到了这个问题。目前最新的 eclipse 安装程序也报同样的错误。

    我切换回openjdk8后,一切顺利...

    【解决方案4】:

    删除 /Library/Java 中的所有 java 文件夹

    然后安装一个新的 jdk 从 https://adoptopenjdk.net/

    将安装在 /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk

    然后尝试重新安装eclipse a

    【讨论】:

      【解决方案5】:

      我也花了一些时间才弄清楚这一点。主要内容是 eclipse 不支持 SDK 版本 14(截至 eclipse 2020-03)。这对我来说并不完全明显。

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

        brew cask install adoptopenjdk/openjdk/adoptopenjdk8
        

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

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

        nano /Applications/Eclipse.app/Contents/Info.plist
        # or
        open /Applications/Eclipse.app/Contents/Info.plist
        
        <key>Eclipse</key>
        <array>
            <string>-keyring</string>
            <string>~/.eclipse_keyring</string>
            <string>-vm</string>
            <string>/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre/</string>
        </array>
        

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

      编辑:Christian Fries回答谁指出eclipse支持所有java版本8到13。

      【讨论】:

      • 不,这不是真的。在 macOS 上,由于 Java 的错误,Eclipse 不能在 Oracle Java 14.0.0 上运行,但 在 14.0.1 上运行良好。见here for details。请注意,这个问题甚至在 Java 14 发布之前就被问到了。
      【解决方案6】:

      注意Eclipse 2020-03 也存在错误“无法创建 Java 虚拟机”(在某些情况下,请参阅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 所在文件夹的路径,NAMEOFJDK 是带有JDK(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。运行/usr/libexec/java_home获取默认JVM。

      这个程序/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。

      【讨论】:

      • 这个解决方案解决了我的问题,谢谢!
      【解决方案7】:

      提到马赛约瑟夫 https://www.eclipse.org/forums/index.php?t=msg&th=1102885&goto=1823113&#msg_num_13 这对我有用!

      他们的解决方案不需要卸载 jdk14 或编辑 eclipse.ini 文件。而是这样做:

      cd /Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/MacOS/
      sudo rm /Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/MacOS/libjli.dylib
      sudo ln -s /Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home/lib/libjli.dylib libjli.dylib
      

      【讨论】:

        【解决方案8】:

        我在我的 mac 中遇到了同样的问题。这是我的解决方案。

        首先:我已经卸载了所有版本的 jdk,因为我尝试了很多选项。 为此,您需要转到 Library/Java/JavaVirtualMachines 并删除所有文件夹。

        二:安装jdk 1.8 这里有这个版本的下载链接: jdk 1.8

        第三:安装eclipse 2020-03,仅此而已。

        如果你想使用 JDK 14,你需要按照以下步骤操作:

        1. 打开日食
        2. 转到帮助 > 安装新软件
        3. 在“安装”窗口中,将以下链接复制到 Work with https://download.eclipse.org/eclipse/updates/4.15-P-builds/

        1. 选择下图中显示的第三个选项
        2. 然后,点击“下一步”完成安装

        现在您必须更改选项,转到 Preferences (command + ,) > Java > Compiler 并搜索版本 14。在此步骤之前,您需要安装 jdk 14 (link)也许 eclipse 会建议您更改为正确的 JRE,为此您需要转到 Java > Installed JRE 并添加正确的版本。当你点击add你需要选择他的JRE类型,在我的例子中我使用MacOS X VM和Standard VM,那么你必须选择目录(/Library/Java/JavaVirtualMachine/jdk-14 /Contents/Home 并单击 open 您可以提供一个 JRE 名称,然后 finish eclipse 将重新启动,现在您可以将 eclipse 与 java 14 一起使用。

        这对我有用,我希望你能理解我。

        【讨论】:

          【解决方案9】:

          转到 /Library/Java/JavaVirtualMachines

          删除所有版本,除了一个正在使用的版本。

          【讨论】:

            【解决方案10】:

            为我从 brew 工作安装 jdk 8。您可以在此处获取有关从 HomeBrew 安装 Jdk 8 的说明How to install Java 8 on Mac

            【讨论】:

              【解决方案11】:

              对于 Windows 操作系统:

              1. 在 Eclipse 程序文件夹中打开 eclipse.ini
              2. 在文件顶部添加以下行

              -vm

              path-to-java-bin\javaw.exe(例如:C:\Program Files\Java\jdk-11.0.10\bin\javaw.exe)

              【讨论】:

                【解决方案12】:

                我在更新到ma​​cOS Monterey后突然开始在mac中遇到同样的问题,所以我只是做了以下步骤: 然后转到 Contents/Eclipse/eclipse.ini 文件并使用任何文本编辑器打开它,您将看到以下内容: 如上图所示,在 -vmargs 之前添加以下行:

                -vm  /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/bin/java
                

                下面这行对于所有用户来说都是不同的:

                /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/bin/java
                

                您可以在终端中使用以下命令将此行复制到剪贴板:

                $ echo $(/usr/libexec/java_home)/bin/java | pbcopy
                

                同样适用于 STS:

                然后如下图所示转到 Contents/Eclipse/SpringToolSuite4.ini 并使用任何文本编辑器应用程序打开。

                您将看到以下内容: 只需添加您在上述步骤中为 Eclipse 添加的同一行:

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2020-08-12
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-04-05
                  • 2014-10-25
                  • 2018-06-21
                  相关资源
                  最近更新 更多