Java虚拟机启动器无法创建虚拟机错误如何解决?

Posted

技术标签:

【中文标题】Java虚拟机启动器无法创建虚拟机错误如何解决?【英文标题】:How to solve could not create the virtual machine error of Java Virtual Machine Launcher? 【发布时间】:2013-08-29 21:02:07 【问题描述】:

我正在研究 java wicket 框架和 Apache tomcat。我在这里尝试时遇到问题 启动 tomcat 它显示 Java 虚拟机启动器弹出窗口“无法创建 Java 虚拟机”。 单击弹出窗口上的“确定”按钮后,它会在控制台上显示错误。

虚拟机初始化过程中发生错误。 无法为对象堆保留足够的空间。

请给我任何参考或建议。 提前致谢。

【问题讨论】:

你对启动器有什么内存设置,你有多少实际内存? Available Memory < Assigned memory for Launcher 我不知道这是否有帮助,但有一个名为 jvisualvm.exe 的漂亮实用程序与 jdk 一起打包。您应该能够在您的 jdk 安装目录中找到它(即-C:\Program Files\Java\jdk1.7.0_17\jvisualvm.exe)。使用此图形界面,您可以看到在启动期间从堆中分配的内存。如果您想了解更多信息,请告诉我,我很乐意提供。 【参考方案1】:

错误:

sony@sony-VPCEH25EN:~$ java --version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar 
Unrecognized option: --version
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

解决方案: 删除多余的连字符'-'

sony@sony-VPCEH25EN:~$ java -version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar 
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

【讨论】:

该死! (谢谢)。这不是与几乎所有其他命令行选项严重不一致吗?【参考方案2】:

当我们从 java 8 升级到 java 10 时,我也遇到了这个问题。我通过从参数中删除 -Djava.endorsed.dirs="C:\Program Files\Apache Software Foundation\Tomcat 8.5\endorsed" 解决了这个问题。

【讨论】:

那个“争论”的东西在哪里?它在文件中吗? 同意,通常启动参数是问题所在。尝试使用java -jar program.jar 运行您的程序,看看它是否运行成功,然后尝试添加参数。【参考方案3】:

编辑你的 Catlina.bat 使你的 -Xmx 设置小于你的物理内存

见Tomcat 7: How to set initial heap size correctly?

【讨论】:

【参考方案4】: 同时按 Windows+Pause 键打开“系统”窗口。如果您愿意,也可以打开控制面板手册前往那里。 点击左侧的“高级系统设置”,然后点击“高级”选项卡。 在此处选择环境变量。 点击系统变量下的新建。 输入“_JAVA_OPTIONS”作为变量名。 输入“-Xmx1024M”作为变量值。 点击确定两次。

【讨论】:

我尝试了您提供的解决方案,首先它立即关闭了我的 Eclipse,然后我编辑了“-Xmx1024M”而不是“-Xmx256M”。 Eclipse 现在已启动,但异常仍然存在。我仍然得到 JVM 无法启动,发生致命异常,您能否建议任何其他解决方案? 救命稻草!谢谢,这正是我需要的。更多的人需要投票。我什至不知道它已经设置为 2048m 并将其设置为 1024M 修复了我的 ESO 安装程序问题。【参考方案5】:

也许这可以帮助你- 添加系统变量_JAVA_OPTIONS并在“新变量值”中添加“-Xmx1024M” Xmx 设置最大堆内存大小

【讨论】:

【参考方案6】:

我在 Windows 64 位操作系统上使用“jdk-10.0.1_windows-x64_bin”和 eclipse-jee-oxygen-3a-win32-x86_64 时遇到了同样的问题。

但最后我通过将我的 jdk 更改为“jdk-8u172-windows-x64”解决了这个问题,现在它工作正常。 @谢谢

【讨论】:

【参考方案7】:

错误并没有说太多,很多事情都可能是错误的。在我的情况下,一件事是错误的

-x.DargName=108352123

这显然是错误的,应该是

-Dx.argName=108352123

【讨论】:

【参考方案8】:

我在 Windows 上使用 JDK 1.8.0_05 64 位和 eclipse-jee-oxygen-3a-win32-x86_64 时遇到了同样的问题64 位操作系统。

最后我通过将 JDK 版本 jdk1.8.0_05 更改为 jdk1.8.0_172

【讨论】:

你在哪里改的?在一个文件中?注册表? 我在 Windows 64 位操作系统中卸载 jdk1.8.0_05 并安装 jdk1.8.0_172【参考方案9】:

对我来说,它选择了在 env vars 中设置的默认 JVM v6。

需要在 eclipse.ini 中显式添加以下内容才能使用由 photon 要求的 v8。

-vm
C:\Program Files\Java\jdk1.8.0_75\bin\javaw.exe
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8

注意:在 vm 参数上方添加 vm 的条目,否则它将不起作用!

【讨论】:

【参考方案10】:

您只需将 JAVA_HOME 添加到您的环境变量中。只需将此变量指向 jdk 位置(不是 jdk bin 位置),如下图所示。

【讨论】:

请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。【参考方案11】:

如果其他选项都不起作用,那么这可能是 JDK 本身的版本问题,只需卸载当前的 jdk 并安装最新版本即可。

我也遇到过这个问题,在尝试了所有升级到最新的JDK之后,这个问题终于解决了。

【讨论】:

【参考方案12】:

我遇到了同样的问题,我使用的是带有 Java 10 的 tomcat 8.5。最后我安装了 Java 8(1.8.0_171)它运行良好,没有任何问题

【讨论】:

【参考方案13】:

在 ubuntu(版本 18)上,一些应用程序支持 java 8,不支持 java 11。 如果是这种情况,您可以按照以下主题的说明切换到 java 8: https://askubuntu.com/questions/1133216/downgrading-java-11-to-java-8

【讨论】:

【参考方案14】:

我不得不在我的项目中添加一个较旧的 jdk。

项目文件夹上的右键 > 属性 > Java 构建路径 > 库 > 添加库 > JRE 系统库

如果您没有jdk8的包,请下载上面一些用户(http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/jdk-8u172-windows-x64.exe)提到的jdk并点击“Installed JREs”并搜索您下载jdk8的目录。

然后点击完成。

删除apache服务器并重新添加。

魔法完成了;)

【讨论】:

【参考方案15】:

我今天在 Windows 10 上运行古老的软件 Dundjinni(一种映射工具)时遇到了同样的问题。(Dundjinni 需要安装相当旧的 Java;我没有尝试更新 Java,因为担心程序会失败。)我的方法是简单地以管理员模式运行 Dundjinni。方法如下:

单击开始或按开始键,向下导航到软件,右键单击程序,选择更多,然后选择以管理员身份运行。请注意,如果您只是输入软件的名称,则此选项可用。

【讨论】:

以上是关于Java虚拟机启动器无法创建虚拟机错误如何解决?的主要内容,如果未能解决你的问题,请参考以下文章

vmware克隆Centos6.4虚拟机网卡无法启动问题

VMware虚拟机作为OpenStack计算节点,上面的虚拟机无法启动问题解决

vmware克隆Centos6.4虚拟机网卡无法启动问题

重启虚拟机后,Hive无法启动,如何解决?

win10下hyper-v新建的虚拟机服务无法启动,错误代码0x80070057,这样怎么办?

Hyper-v启动失败