
通常情况下,成功安装 Java 后,所有基于 Java 的应用或游戏都应该能稳定运行。 然而,最近有用户反映,在尝试启动如 Minecraft 等 Java 程序时,遇到了“无法创建 Java 虚拟机”的错误。 这表明用于运行 Java 程序的虚拟机并没有被正确地初始化。 如果您也正为此问题困扰,那么本文将为您提供全面的解决方案,助您修复“无法创建 Java 虚拟机”的错误。
解决 Windows 10 中 Java 虚拟机创建失败的问题
当在集成开发环境 (IDE) 中编译代码时,经常会遇到 “无法创建 Java 虚拟机” 这样的错误提示。 该错误通常由以下几种原因引起:
-
Java 启动参数不正确: 无论是您自行开发的应用还是开源程序,不正确的启动参数都可能导致此错误,甚至可能造成系统不稳定。
-
Java 堆内存不足: 当程序试图使用超出系统变量中设定的最大堆内存时,就会出现此错误。
-
Java 可执行文件权限不足: 运行需要管理员权限才能正常工作的应用程序时,也可能会触发此错误。
现在我们已经了解了此错误背后的常见原因。Java 用户还可能遇到其他类似问题,比如 Java 虚拟机启动器错误,这通常也是由 Java 安装问题导致的。 接下来,我们将重点介绍修复“无法创建 Java 虚拟机”错误的方法。
初步排查步骤
-
检查启动参数: 仔细检查您所指定的启动参数。即使您使用的是正确的 Java 版本,启动设置也可能导致编译时使用错误的版本。如果您最近进行了 Java 就地更新,启动参数很可能仍然指向旧版本。
-
检查语法: 确保您的参数语法完全正确。即使是细微的语法错误也可能触发“无法创建 Java 虚拟机”的错误。请特别注意检查是否有额外的连字符或不正确的版本记录。
-
检查 JDK 是否损坏: 损坏的 Java 开发工具包 (JDK) 也可能导致此错误。 您可以通过以下步骤来检查 JDK 是否损坏:
1. 按下 Windows 键,输入 “命令提示符”,然后点击 “以管理员身份运行”。
2. 在命令提示符中输入 c:> java -version
并按回车键。
3. 如果执行命令时出现错误,请重新安装 JDK。 检查重新安装 JDK 是否可以解决问题。如果问题依然存在,请尝试本文中列出的其他修复方法。
方法一:以管理员模式运行 Java
在 Windows PC 上,某些应用程序如果缺乏必要的管理员权限,可能会运行不稳定,并可能导致包括 “无法创建 Java 虚拟机” 在内的各种问题。通过强制让主要的 Java 可执行文件 (java.exe
) 以管理员权限运行,可以有效地解决这个问题。 请按照以下步骤操作:
1. 按下 Windows + E 键,打开文件资源管理器。
2. 在文件资源管理器中,找到 java.exe
。 该文件通常位于以下路径:
C:Program FilesJava*JRE build version*bin
其中 JRE build version
因您安装的 Java 版本而异。
或者,可能位于:
C:Program Files(x86)Common FilesOracleJavajavapath
注意:如果您将 Java 安装在其他位置,请根据您的安装路径找到 Java.exe
。
3. 右键点击 Java.exe
,选择 “属性” 以打开属性窗口。
4. 转到 “兼容性” 选项卡,勾选 “以管理员身份运行此程序” 的复选框,如图所示。
5. 点击 “应用” 和 “确定” 以保存更改。
现在,每次打开 Java 时,它都将以管理员权限运行。
方法 2:增加 Java 堆大小
当 Java 系统内存不足,无法启动虚拟机客户端时,也可能会出现此错误。 Java 默认配置使用最大堆大小,当运行超过堆大小限制的应用程序时,就会引发错误。 创建新的系统变量以增加可用内存或许可以解决此问题。请按照以下步骤操作:
1. 同时按下 Windows + R 键,打开 “运行” 对话框。
2. 输入 sysdm.cpl
并按回车键,打开 “系统属性” 窗口。
3. 转到 “高级” 选项卡。
4. 点击 “环境变量…” 按钮,如图所示。
5. 在 “环境变量” 窗口中,点击 “系统变量” 下的 “新建…” 按钮。
6. 在 “新建系统变量” 弹出窗口中,将 “变量名” 设置为 _JAVA_OPTIONS
,将 “变量值” 设置为 –Xmx512M
。 点击 “确定” 以保存更改。
注意:如果错误仍然存在,您可以通过将 “变量值” 设置为 –Xmx1024M
而不是 –Xmx512M
,来进一步增加内存,如步骤 6 所示。
方法三:修改 Java 代码
一些用户反馈,通过对代码进行一些简单的修改,就能够解决此错误。 其中一些方法如下:
1. 将代码中的双连字符替换为单连字符,有时候可以解决问题。
- 带有双连字符的代码:
[email protected]:~$ java –version
Picked up JAVA_TOOL_OPTIONS: –javaagent:/usr/share/java/jayatanaag.jar
Unrecognized option: –version
- 带有单连字符的相同代码:
[email protected]:~$ java -version
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
Unrecognized option: -version
2. 另外,考虑从您的参数中删除以下短语:
-Djava.endorsed.dirs="C:Program FilesApache Software FoundationTomcat 8.5endorsed"
3. 确保在 eclipse.ini
文件中,将 -vm
条目放在 vm args
上方,否则将会在环境变量中选择 JVM V6。
注意:如果您使用的是 Ubuntu 系统,请注意该系统仅支持 Java 8。因此,您可以按照方法三中的建议卸载 Java,然后安装旧版本。
方法四:修改 Eclipse.ini 文件
如果您使用的是 Eclipse IDE,对 eclipse.ini
文件进行一些修改可能有助于修复 “无法创建 Java 虚拟机” 的错误。
注意: eclipse.ini
文件位于您安装 Eclipse 的目录内的 Eclipse 文件夹中。
第一步:减少内存使用
1. 右键点击 eclipse.ini
文件,选择 “打开方式” > “记事本”。
2. 查找匹配 -Xmx256m
的行。
注意:也可能是 -Xmx1024m
或 -Xmx 512m
。
3. 将默认值修改为与您的 PC RAM 更兼容的值,同时添加版本号。
例如:
-Xmx512m
-Dosgi.requiredJavaVersion=1.6
或者:
-Xmx512m
-Dosgi.requiredJavaVersion=1.7
或者:
-Xmx512m
-Dosgi.requiredJavaVersion=1.8
4. 尝试从 -launcher.XXMaxPermSize
行中删除 256m
的值。
第二步:附加修改
1. 如果可能,从文件中删除以下行:
-vm P:Programsjdk1.6bin
2. 用以下代码替换下面的行:
set -Dosgi.requiredJavaVersion=1.5
替换为:
set -Dosgi.requiredJavaVersion=1.6.
3. 尝试添加以下行:
-vm C:Program Files (x86)Javajre6binjavaw.exe
4. 通过以下行引用 JVM.dll
:
-vm
C:Program FilesJavajre7binclientjvm.dll
5. 将 -vmargs
替换为 eclipse.ini
文件中 javaw.exe
的路径。
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813
-product
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
256M
-showsplash
com.android.ide.eclipse.adt.package.product
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
**-vm "c:Program FilesJavajdk1.7.0_07binjavaw.exe"**
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx768m
-Declipse.buildId=v21.1.0-569685
6. 将以下行放在 eclipse.ini
文件的末尾,并检查是否有效:
-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
7. 从 eclipse.ini
中删除以下行,检查是否解决了问题:
-XX:+UseStringDeduplication
-XX:+UseG1GC
注意:如果问题仍然存在,请尝试删除 eclipse.ini
文件,但请事先备份。此外,在启动 Java 之前关闭所有占用大量内存的应用程序。
方法 5:重新安装 Java
在某些情况下,该问题可能源于 Java 安装不正确或安装过程中的损坏。因此,在此步骤中,我们将完全卸载 Java,然后重新安装。 具体步骤如下:
1. 同时按下 Windows + R 键,打开 “运行” 对话框。
2. 输入 Appwiz.cpl
并点击 “确定”,以启动 “程序和功能”。
3. 在已安装的应用程序列表中,找到 Java。
4. 右键点击 Java,并选择 “卸载” 以卸载 Java。
注意:您还应该卸载其他 Java 开发工具包和更新。
5. 等待卸载过程完成,然后重新启动您的 PC。
6. 前往 Java 下载页面,下载最新版本的 Java 运行时环境 (JRE)。
注意 1:如果重新安装 Java 运行时环境无法解决问题,请下载最新版本的 JDK。
注意 2:如果您已经安装了 JDK,请尝试使用不同的版本或删除 JDK 自带的 Java 运行时环境。
常见问题 (FAQ)
Q1: 提示 “无法构造 Java 虚拟机” 是什么意思?
答: Java 虚拟机使用 -Xmx
选项来指定最大堆内存大小。 eclipse.ini
文件中的 -Xmx
选项可能设置得过高,导致当前环境无法满足,从而出现此错误。
Q2: 什么是 Java 虚拟机?
答:Java 虚拟机 (JVM) 是一种程序,它允许计算机运行 Java 程序和其他已翻译成 Java 字节码的语言。 JVM 的功能由正式描述 JVM 实现要求的标准来定义。
Q3: Java 可以免费获取吗?
答: 要安装 Java,您需要首先下载 Oracle 安装程序。 在下载页面下拉菜单中选择 “免费 Java 下载”。 之后,您需要阅读并接受最终用户许可协议。
***
我们希望本指南能够帮助您解决 “无法创建 Java 虚拟机” 的问题。 请告诉我们哪种方法最适合您。 如果您有任何疑问或建议,欢迎在评论区留言。