适用于 Minecraft 的 Java (JRE/JDK)的安装与选择
什么是 Java ?什么是 JRE ?什么是 OpenJ9?
Java 是一种广泛使用的计算机编程语言,Java 版 Minecraft 是用 Java 编写的,因此游玩 Java 版 Minecraft 需要安装 JRE。
JRE (Java Runtime Enviromnent) [Java运行时环境] 是运行使用 Java 语言编写的软件的必备环境。
JDK (Java Development Kit) [Java开发套件],是供开发者使用的套件,有一些开发用的功能,JDK 内包含了 JRE。
JVM (Java Virtual Machine) [Java虚拟机] 是 JRE 的一部分,所有 Java 程序都运行在 JVM 中。
我们平时说的安装 Java,其实是安装 JRE。
OpenJ9 是不同于 HotSpot (OpenJDK中的标准JVM) 的一个 JVM,在内存管理方面领先 HotSpot 。经过测试,使用 OpenJ9 能在一定程度上减少 Minecraft 客户端的内存占用,但可能增加 CPU 的使用率,所以不建议在笔记本等 CPU 性能较弱的电脑上使用。
Minecraft 的 Java 版本需求
一般情况下 Minecraft 原版的 Java 版本需求如下:
- 运行
1.0 - 1.12
的原版需要使用 Java7 或 Java8。 - 运行
1.13 - 1.16
的原版可以使用 Java8,或 Java11 - Java15 等高版本 Java,使用高版本 Java 可以在一定程度上提高性能(启动器不一定支持)。 - 运行
1.17+
原版和模组均需要使用 Java16 等更高版本的 Java。
一般情况下 Minecraft 模组的 Java 版本需求如下:
- 运行
1.0 - 1.13
的 FabricMC、Minecraft-Forge 需要使用 Java7 或 Java8。 - 运行
1.14 - 1.16
的 FabricMC、Minecraft-Forge 最好使用 Java8,也可以使用 Java11 - Java15 等高版本 Java,使用高版本 Java 可以在一定程度上提高性能,但有部分模组不支持,同时也可能有模组需要更高版本的 Java。 - 运行
1.17+
原版和模组均需要使用 Java16 等更高版本的 Java。
实际上上 PaperMC 服务端已在 Paper 1.16.5 build 669 和之后版本要求使用 Java16,Paper 团队还建议运行最稳定的最新 JVM(可以理解为更高版本的 Java)。我们也推荐尽量使用高版本的 Java(前提是兼容性没问题)。
*HMCL 启动器在 3.3.183 之前的版本需要 JavaFX。
各种 JRE/JDK 的选择
Java 是 Sun 公司发明的,2006 年末 Sun 公司宣传将开放 Java 源代码。
2009 年 Oracle 公司收购了 Sun 公司。而 Sun 公司在被收购的几天前发布了 OpenJDK,即开源版本的 JDK。
由于 OracleJDK 正统且免费性能好,于是大家都开始用 OracleJDK。但后来由于 Oracle 公司对于 Java 社群的不友善和商业化,逐渐催生了许多基于 OpenJDK 的第三方 JDK。
目前流行的 JDK 有: OracleJDK、OpenJDK、Liberica、Zulu、RedHatOpenJDK、AdoptOpenJDK(提供 Openj9)、GraalVM(其实不是 JDK,但它有Jvm)等。
不同的 JDK 细节表现、性能、支持的系统/内存各有差别,你可以查看测评或自行测试来决定使用哪一个。
玩 Minecraft 推荐使用:OracleJDK 或 Zulu 或 GraalVM
32 位和 64 位的选择
时至今日,你应该无条件安装 64 位 JRE。现代 X86 架构处理器都是 64 位的。
32 位版本在 Windows 下仅能分配大约 1.5G 内存,这对 Minecraft 来说是远远不够的。
如果你的系统不是 64 位的,那么我们强烈建议你重装为 64 位系统。
下载与安装
你并不需要“安装”Java,只需要解压到任意文件夹即可。
由于 Minecraft 1.0-1.16 兼容 Java8, 但 1.17 却需要 Java16。目前大部分应用仍然兼容或需要 Java8,
因此本文推荐用安装程序安装 Oracle JRE 8 和以解压的方式“安装” Zulu JRE 16。
使用安装程序安装仅仅是多了环境变量、更新升级之类的东西,本质上和解压没有什么不同。
使用解压的方式安装是为了避免环境变量混乱,导致版本错乱不好管理等。
例如:通常的启动命令是 java -jar xxx.jar
但你可以用 java路径/bin/java.exe -jar xxx.jar
来代替,其他系统可能没有 .exe 后缀,但本质是一样的。
A.安装 Oracle JRE 8
此版本自带 JavaFX。
1.访问https://www.java.com/zh-CN/download/manual.jsp
2.点击并下载Windows 脱机 (64 位)
其他系统请下载对应文件(点击图片可以放大)。
3.打开下载好的jre-8uxxx-windows-x64.exe
,点击安装
。
4.安装完成,默认安装目录在C:\Program Files\Java\jre1.8.0_xxx
(1.8.0 或 8.0.x 代表 Java8,16.0.x 代表 Java16)。
*这里安装的是 JRE,如果需要 JDK 请至 https://www.oracle.com/cn/java/technologies/javase-downloads.html 下载。
*Oracle JRE/JDK 商业应用需要收费。
B.安装 Zulu JRE 16
所有版本的解压方式安装都是一样的,请照葫芦画瓢。
选择带 FX 的选项即包含 JavaFX。
1.访问 https://www.azul.com/downloads/ 并拉到页面底端。
2.如图选择 Java 16(STS)
、Windows X86
、64-bit
、 JRE-FX
,其他系统请选择对应选项(点击图片可以放大)。
3.选择完后点击 .Zip
下载压缩包。
4.用压缩软件打开,解压到C:\Program Files\Java
(或你熟悉的目录)。
5.安装完成,安装目录在C:\Program Files\Java\zulu16.xx.xx-ca-fx-jre16.0.x-win_x64
。
*这里安装的是 JRE,如果需要 JDK 请选择 JDK 下载。
*Zulu JRE/JDK 商业应用免费。
如果你是带独立显卡的笔记本,别忘了在系统的图形设置里将刚刚安装的 java.exe
和 javaw.exe
设置为高性能。
在 Minecraft 启动器中使用
一般来说,第三方启动器会自动检测到你安装的 JDK/JRE。
但由于我们使用手动的方式安装了 Zulu 16,部分启动器可能检测不到,所以我们需要手动指定 Java 目录来让启动器使用。
如果你使用官方启动器,那么你不需要操心这些,因为官方启动器自带 JRE。
这里用 Zulu 16 做举例,如果你安装了其他版本的 Java,同理选择其他版本即可。
MultiMC
支持 Windows、Linux、macOS 系统。
下载地址:https://multimc.org
*不建议更改全局设置。
1.右键要更改的实例,选择编辑实例
(点击图片可以放大)。
2.点击设置
勾选 Java安装
点击 浏览…
。
3.找到C:\Program Files\Java\zulu16.xx.xx-ca-fx-jre16.0.x-win_x64\bin
文件夹里的 javaw.exe
并选择。
注意 zulu16.xx.xx-ca-fx-jre16.0.x-win_x64
会根据你安装的版本改变,请选择正确的文件夹。
(其他系统请选择 路径/bin/java
)(1.8.0 或 8.0.x 代表 Java8,16.0.x 代表 Java16)。
4.更改完成,点击关闭即可。
HMCL
支持 Windows、Linux、macOS 系统。
下载地址:https://hmcl.huangyuhui.net/download(请下载开发版)
*不建议更改全局设置,请先打开版本隔离,可以参考这篇文章。
1.点击版本列表
,找到要修改的游戏版本,点击右边的:
(点击图片可以放大)。
2.选择游戏管理
。
3.勾选启用游戏特定设置(不影响其他游戏版本)
,点击 Java 路径
右边的 V
。
4.A.如果你运气好的话,启动器已经自动检测到了 Java16,选择 16.0.2
即可(1.8.0 或 8.0.x 代表 Java8,16.0.x 代表 Java16)。
4.B.如果你运气不好,启动器没有检测到 Java16,那么请点击 自定义
,然后点击右边的文件夹图标
。
4.B.1.找到C:\Program Files\Java\zulu16.xx.xx-ca-fx-jre16.0.x-win_x64\bin
文件夹里的 javaw.exe
并选择。
注意 zulu16.xx.xx-ca-fx-jre16.0.x-win_x64
会根据你安装的版本改变,请选择正确的文件夹。
(其他系统请选择 路径/bin/java
)(1.8.0 或 8.0.x 代表 Java8,16.0.x 代表 Java16)。
5.完成,返回即可
PCL 2
支持 Windows 系统。
下载地址:https://afdian.net/@LTCat
*不建议更改全局设置,请先打开版本隔离,可以参考这篇文章。
1.点击设置
,然后点击自动搜索
。
2.运气好的话你应该能看到 Java 8 和 Java16,交由启动器自动判断即可(1.8.0 或 8.0.x 代表 Java8,16.0.x 代表 Java16)。
3.如果你运气不好,启动器没有检测到 Java16,或是选择了错误的 Java 版本。
3.1.点击设置
,然后点击手动导入
。PCL2 真难用居然不能再版本里选择
3.3.找到C:\Program Files\Java\zulu16.xx.xx-ca-fx-jre16.0.x-win_x64\bin
文件夹里的 javaw.exe
并选择。
注意 zulu16.xx.xx-ca-fx-jre16.0.x-win_x64
会根据你安装的版本改变,请选择正确的文件夹。
(其他系统请选择 路径/bin/java
)(1.8.0 或 8.0.x 代表 Java8,16.0.x 代表 Java16)。
3.4.没有意外的话,Java 版本列表里面应该已经有了 Java 16,并显示手动导入。
3.5.返回启动
点击版本选择
。
3.7.在 游戏 Java 处选择合适的 Java
4.完成
仍然有不明白的地方?
欢迎留言提出建议。