【发布时间】:2014-10-25 21:26:13
【问题描述】:
我刚刚在 Mac 10.9.4 上安装了来自 Oracle 的最新 Java SDK 7-67。然后我在终端中运行命令 java -v 并收到以下消息:
错误:无法创建 Java 虚拟机。
错误:发生了致命异常。程序将退出。
【问题讨论】:
-
您下载并安装了哪个版本的 Java,32 位还是 64 位?
我刚刚在 Mac 10.9.4 上安装了来自 Oracle 的最新 Java SDK 7-67。然后我在终端中运行命令 java -v 并收到以下消息:
错误:无法创建 Java 虚拟机。
错误:发生了致命异常。程序将退出。
【问题讨论】:
当您通过提供错误的参数/选项调用 java 时,通常会发生此错误。在这种情况下,它应该是version 选项。
java -version
所以要仔细检查,您可以随时使用java -help,并查看该选项是否存在。在这种情况下,没有v之类的选项。
【讨论】:
Java -version 现在可以使用。它只是我安装了一个名为node.js 的东西,要检查它的版本,它只需要-v。我认为这可能是一个笼统的论点。
--version 而不是 -version。是的,多么垃圾的错误消息 -_-;
node.js的东西”。 〜5年后,这看起来非常可爱。
所以尝试卸载除您需要的版本之外的所有其他版本,然后为剩余的 JDK 设置 JAVA_HOMEpath 变量,就大功告成了。
这对我有用,我在本地 Mac 上安装了两个 JDK(版本 8 和 11),这导致了问题,为了卸载,我按照以下两个步骤操作:
【讨论】:
如果您尝试使用-version 参数运行java,即使问题无法通过任何方式解决,那么您可能已经安装了许多Java 版本,例如同时安装了JDK 1.8 和JDK 1.7。
所以尝试卸载除您需要的版本之外的所有其他版本,然后为剩余的 JDK 设置 JAVA_HOMEpath 变量,就大功告成了。
【讨论】:
无法识别的选项:- 错误:无法创建 Java 虚拟机。 错误:发生了致命异常。程序将退出。
由于终端中使用的语法不正确,我收到此错误。我使用的是 java - 版本。但它实际上是 java -version。 - 和版本之间没有空格。您也可以使用 java -help 进行交叉检查。
我希望这会有所帮助。
【讨论】:
这种行为可能还有一个原因 - 您删除了当前工作目录。
例如:
# in terminal #1
cd /home/user/myJavaApp
# in terminal #2
rm -rf /home/user/myJavaApp
# in terminal #1
java -jar myJar.jar
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
【讨论】:
尝试: java -version ,然后如果你看到 java 11
尝试使用终端删除: cd /库/Java/JavaVirtualMachines rm -rf openjdk-11.0.1.jdk
如果它不尝试手动删除: 1) 点击查找器 2)转到文件夹 3) 发布 /Library/Java/JavaVirtualMachines 4)删除java 11。
然后尝试java版本,你会看到: java版本“1.8.0_191”
【讨论】:
我在尝试启动 uiautomatorviewer 时遇到了这个问题。我有 java 13 版本。后来我下载了java 8版本。转到终端并打开 .bash_profile。 输入 export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)。 保存并退出。
【讨论】: