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

时间:2018-10-04 18:00:16

标签: java eclipse

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

  

“无法创建Java虚拟机”

我该如何解决?

注意:我在Mac上。

11 个答案:

答案 0 :(得分:11)

我也花了一些时间才弄清楚这一点。主要收获是 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运行的步骤。因为我无处给出具体的答案,所以请看一下评论,以防出现问题。

编辑:请参见Christian Fries答案,他指出Eclipse支持所有Java版本8至13。

答案 1 :(得分:9)

注意 Eclipse 2020-03 也存在错误“ 无法创建Java虚拟机”(在某些情况下,请参见https://bugs.eclipse.org/bugs/show_bug.cgi?id=561273),并且不需要使用Java 8(对于Eclipse 2020-03)。

对于急躁的人:

您可以通过给定的VM运行Eclipse或Eclipse Installer,而无需通过命令行启动push来对其进行更改:

  • 打开终端运行:

  • eclipse.ini

其中open PATHTOECLIPSEINSTALLER/Eclipse\ Installer.app --args -vm /Library/Java/JavaVirtualMachines/NAMEOFJDK/Contents/Home/bin是Eclipse Installer所在文件夹的路径,而PATHTOECLIPSEINSTALLER是具有JDK的文件夹的名称(11、12、13)。

例如:

NAMEOFJDK

在安装程序中,您可以选择Eclipse使用的VM。在此处使用兼容的VM,安装程序将为您修改open Downloads/Eclipse\ Installer.app --args -vm /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/bin

说明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。通过运行eclipse.ini获得默认的JVM。

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

解决方案

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

  1. 一旦从/ Library / Java / JavaVirtualMachines /中删除了JDK 14,该错误将消失。

  2. 如果您想安装JDK 14,请通过命令行/usr/libexec/java_home

  3. 使用其他JDK启动安装程序。
  4. 您可以编辑eclipse.ini(如其他答案所示)以使用特定的JVM。

答案 2 :(得分:2)

引用马赛·约瑟夫(Marseille Joseph) 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

答案 3 :(得分:1)

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

/Users/bparks/Downloads/Eclipse Installer.app/Contents/Eclipse/eclipse-inst.ini

并将路径添加到我的本地Java VM,在这里:

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

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

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

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

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

答案 4 :(得分:1)

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

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

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

然后尝试重新安装eclipse a

答案 5 :(得分:1)

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

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

第二:安装jdk 1.8,这里是下载此版本的链接: jdk 1.8

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

如果要使用JDK 14,则需要执行以下步骤:

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

Install window

  1. 选择第三个选项,如下图所示 Option
  2. 然后,单击“下一步”并完成安装

现在,您必须更改选项,转到“ Preferences”(命令+,)> Java> Compiler并搜索版本14。在此步骤之前,您需要安装jdk 14(link也许eclipse会建议您更改为正确的JRE,为此,您需要转到Java>已安装的JRE,并添加正确的版本。单击添加时,您需要选择JRE类型,在我的情况下,我使用MacOS X VM和Standard VM,然后必须选择目录(/ Library / Java / JavaVirtualMachine / jdk-14 / Contents / Home并单击打开,您可以指定一个JRE名称,然后完成 Eclipse将重新启动,现在您可以在Java 14中使用Eclipse。

enter image description here

这对我有用,希望您理解我。

答案 6 :(得分:1)

转到/ Library / Java / JavaVirtualMachines

删除所有正在使用的版本。

答案 7 :(得分:1)

为我安装brew工作中的jdk 8。您可以在How to install Java 8 on Mac

上从HomeBrew获得有关安装Jdk 8的说明。

答案 8 :(得分:0)

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

答案 9 :(得分:0)

我在eclipse-java-2020-03-M2-macosx-cocoa-x86_64 opendjdk11 上遇到了此问题。目前最新的eclipse安装程序也抱怨相同的错误。

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

答案 10 :(得分:0)

对于 Windows 操作系统:

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

-vm

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