我无法在macOS Big Sur开发者测试版上运行eclipse,出现错误信息“Failed to create the java virtual machine”。有没有解决这个问题的方法?
我正在运行的java版本:
我遇到了相同的问题。我通过打开 /Applications/Eclipse.app/Contents/Info.plist 并添加以下内容来解决它:
<string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/bin/java</string>
内部
<key>Eclipse</key>
<array>
ADD HERE!
</array>
当然,“/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/bin/java”这个值必须根据您正在使用的JDK版本替换为实际路径。
<key>Eclipse</key>
下的 <array>
条目中吗?标准文件中有关于这个的注释吗?更详细地说明应该把它放在哪里会更有用。 - greg-449使用以下命令导出JAVA_HOME变量:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home
这个答案是关于BigSur v11.0.1 Beta的。我探索的是,如果您已经配置了您的.bash_profile JAVA_HOME的导出,类似于以下内容
export JAVA_HOME=$(/usr/libexec/java_home)
那么它在尝试导入这个,因为某种原因
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
而不是
/Library/Java/JavaVirtualMachines/**/Contents/Home
为了快速解决问题,我按照以下方式配置了我的JAVA_HOME
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home
如果您需要同时切换多个JVM,则可能会发现这个.bashrc/.zshrc配置很方便
export JAVA_8_HOME="jdk1.8.0_231.jdk"
export JAVA_11_HOME="openjdk-11.0.2.jdk"
export JAVA_13_HOME="jdk-13.0.1.jdk"
alias java8='export JAVA_HOME="/Library/Java/JavaVirtualMachines/$JAVA_8_HOME/Contents/Home"'
alias java11='export JAVA_HOME="/Library/Java/JavaVirtualMachines/$JAVA_11_HOME/Contents/Home"'
alias java13='export JAVA_HOME="/Library/Java/JavaVirtualMachines/$JAVA_13_HOME/Contents/Home"'
# default to Java 8
java8
<string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java</string>
。甚至在*.plist
文件中有一个例子。 - jediwompa<string>-vm</string><string>/Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home/bin/java</string>
这应该在Eclipse Key中的数组标记内部。
brew cask install eclipse-java
我也遇到了同样的问题,后来发现当我运行echo $JAVA_HOME时,目录已经被替换了。
重新向java home文件进行导出似乎起到了作用, 我使用了:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/
看起来解决了问题,注意你的目录可能不同,我建议通过使用“/”然后按tab键来跟踪目录以找到正确的目录。
cd /Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/lib
sudo ln -s ../jre/lib/server/libjvm.dylib libserver.dylib
我在使用Eclipse Mat和JDK Mission Control时遇到了这个问题。在Mac OS v11.6(Big Sur)上,依赖项是Java 11。在whatever.app/Contents/Info.plist
中添加了以下内容。
<key>Eclipse</key>
<array>
<string>-vm</string
<string>/Users/<yourHomeDir>/.sdkman/candidates/java/11.0.2-open/bin/java</string>
<string>-keyring</string>
<string>~/.eclipse_keyring</string>
</array>
确认过了,将以下内容添加到Infolplist中即可。我使用的是Oracle jdk 8,并且更新了以下值。 -vm /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/bin/java
/usr/libexec/java_home
返回什么? - nitindjava
命令? - nitind