Minecraft 需要哪个 Java 以及 Java 报错
每个游戏版本需要哪个 Java,启动器会自行对 Java 做什么,以及如何修复 UnsupportedClassVersionError 和“Could not create the Java Virtual Machine”。
更新于 2026年10月24日
您无需手动安装 Java:启动器会自行下载每个整合包所需的版本。本文适用于出现问题或手动选择了 Java 的情况。
哪个游戏版本需要哪个 Java
| Minecraft 版本 | Java |
|---|---|
| 至 1.16.5(含) | 8 |
| 1.17 – 1.20.4 | 17 |
| 1.20.5 – 1.21.x | 21 |
| 26.x | 25 |
官方要求 1.17 使用 Java 16,但启动器会在 Java 17 上运行它——游戏可以正常工作。
版本越新并不代表越好:带模组的旧版本(例如 Forge 1.12.2)无法在 Java 17 及更高版本上启动。而 Java 版本过低也无法启动新版本。
启动器会自行对 Java 做什么
- 它会获取游戏版本所需的 Java,并在首次启动时下载。压缩包仅在校验和验证通过后才会安装,并存放在启动器文件夹中——不会更改您系统的 Java 和 Windows 设置。
- 如果您的电脑上已安装合适的 64 位 Java,它可能会使用该版本。启动器不会选择 32 位 Java:它的内存不足以运行整合包。
- 如果手动选择了版本过低的 Java,启动器会提示“所选 Java……对于 Minecraft……来说版本过低”,并使用合适的版本启动游戏。
在哪里手动选择 Java
- 针对单个整合包: 打开整合包 → “设置” → 展开 “高级用户” → “Java” 一行。默认设置为“Java 版本:自动”——即整合包所需的版本。
- 针对所有整合包: 设置 → 文件 → Java → “所有整合包的 Java” → “指定”。“重置” 按钮可恢复自动选择。
- 下载特定版本: 在同一位置,“下载 Java” 一行中选择 Java 8、11、17、21 或 25,然后点击 “下载”。下方是已下载版本的列表;您可以删除不需要的版本,启动器会在需要时重新下载。
如果不确定——保持自动即可。
Java 错误
UnsupportedClassVersionError
类似 has been compiled by a more recent version of the Java Runtime 的文本表示模组或游戏编译所用的 Java 版本比当前运行的版本更新。在 “游戏崩溃” 窗口中会显示“此整合包需要其他 Java 版本”以及 “安装 Java……” 按钮——点击它并重新启动游戏。
如果 Java 是手动选择的,请在整合包设置中将“Java 版本:自动”改回来。
“Could not create the Java Virtual Machine”
这不是原因,而是结果:Java 无法启动。真正的原因在它上一行。启动器会在错误窗口中显示:“游戏未启动(代码……):……”。
Unrecognized option或Multiple garbage collectors selected——您自己的参数有误。清空“高级用户”部分中的 “JVM 参数” 字段。Could not reserve enough space或Insufficient memory——Windows 无法分配内存。在整合包中设置更少的内存,关闭浏览器,并检查 Windows 页面文件是否已启用。更多详情请参阅文章如何分配更多内存。Could not find java.dll——Java 已损坏,最常见的情况是其文件被杀毒软件删除。此时启动器会自行重新安装自己的 Java 并尝试再次启动。如果错误仍然存在,请在 设置 → 文件 → Java 中删除该 Java 并启动游戏——启动器会重新下载它。将启动器文件夹添加到杀毒软件的排除项中。
位数错误
32 位 Java 不允许游戏使用超过 1–1.5 GB 的内存,整合包会因此崩溃。如果“所有整合包的 Java”指定的是 32 位 Java——请点击 “重置”,启动器将使用自带的 64 位版本。
搭载 M 芯片的 Mac
1.19 之前的版本通过 Rosetta 启动。启动器会主动提示安装它——使用您的 macOS 密码确认安装。
如果以上都没有帮助
请按照文章游戏崩溃或显示黑屏——该怎么办中的步骤操作。关于托管服务器所需的 Java,请参阅文章核心所需的 Java 版本。