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虚拟机作为OpenStack计算节点,上面的虚拟机无法启动问题解决