Eclipse提供了;未能创建Java虚拟机";

Eclipse提供了;未能创建Java虚拟机";,java,eclipse,Java,Eclipse,平台:MAC Catalina 10.15.3(64位) Eclipse:Eclipse-java-2020-03-R-macosx-cocoa-x86_64.dmg(64位) 这是由于试图修复和发布eclipse JRE所在的位置,容器“JRE系统库[…]”引用了不存在的库“…”和后续修复。在进行了这些修改之后,我关闭了eclipse,重新启动时遇到了这个错误。重要的是,执行echo$JAVA_HOME不会带来任何回报。下面的日志记录了启动和运行Eclipse的其他尝试 在卸载并重新安装ecl

平台:MAC Catalina 10.15.3(64位) Eclipse:Eclipse-java-2020-03-R-macosx-cocoa-x86_64.dmg(64位)

这是由于试图修复和发布eclipse JRE所在的位置,
容器“JRE系统库[…]”引用了不存在的库“…”
和后续修复。在进行了这些修改之后,我关闭了eclipse,重新启动时遇到了这个错误。重要的是,执行
echo$JAVA_HOME
不会带来任何回报。下面的日志记录了启动和运行Eclipse的其他尝试

在卸载并重新安装eclipse和java之后,仍然会出现错误“未能创建java虚拟机”

从命令行运行
/eclipse
时,我得到:

Error: could not find libjava.dylib
Failed to GetJREPath()
cmacedo@Christians-MBP eclipse % ./eclipse -vm /Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home/lib
Error: could not find libjava.dylib
Failed to GetJREPath()
从命令行运行
/eclipse-vm/Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home/lib
,我得到:

Error: could not find libjava.dylib
Failed to GetJREPath()
cmacedo@Christians-MBP eclipse % ./eclipse -vm /Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home/lib
Error: could not find libjava.dylib
Failed to GetJREPath()
在检查文件夹
/Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home/lib
时,我发现它确实包含
libjava.dylib

而且,如果我尝试执行以下操作,我会得到一个被拒绝的
权限

cmacedo@Christians-MBP ~ % echo "export JAVA_HOME=`/Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home/`" >> ~/.profile
zsh: permission denied: /Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/Home/

虽然不是问题的解决办法。我最后做了一个工厂重置。我知道这对很多人没有帮助。然而,它起了作用……

TL;博士 如果仍然可以重现问题,请执行:

cd /Library/Java/JavaVirtualMachines/jdk-14.jdk/Contents/MacOS
sudo ln -fs ../Home/lib/libjli.dylib
更多细节 您拥有最新版本的Oracle JDK 14。Oracle JDK或Open JDK的最新版本存在已知错误:。Eclipse中也报告了此问题:

这个问题将在JDK的下一个版本中解决

同时,解决方法因JDK版本而异。我做了一些实验来找到通用的解决方案。这一条应该始终有效:

cd $($(dirname $(readlink $(which javac)))/java_home)/../MacOS
sudo cp libjli.dylib libjli.dylib.bak
sudo ln -fs $(find ../Home -name libjli.dylib)

…/Contents/Home是从命令行启动它的通常指定位置(末尾没有lib)@greg-449。你知道我需要修改什么以便eclipse每次都使用它吗?如果你能回答你的问题并添加一些(可能不重要的)细节,可能会有所帮助。也就是说,您使用的是什么Eclipse版本,您使用的是什么平台,例如Windows、linux或Mac。这也是32位还是64位平台?在这里做一个快速测试,我使用最新的Eclipse2020-03(但没有Java14补丁)得到这个错误。不确定这个补丁是否有用。@greg-449你得到的是这三个补丁中的哪一个?