本文章介绍的是如何更新Java。关于Minecraft的Java版本,请见“Java版”。

更新Java是游玩Minecraft时最重要的事情之一,因为有些技术性漏洞只能通过更新Java来解决。

Minecraft启动器和Java版本1.8.0_51绑定(MacOS上为1.8.0_74),默认使用此版本;21w19a至1.18-pre1绑定Java 16.0.1;1.18-pre2至22w17a绑定Java 17.0.1;22w18a及以上版本绑定Java 17.0.8

可以从个人资料的选项菜单来更改Java版本。

目录

1什么是Java?2为什么要更新?3下载地址3.1注释4安装5备注6已知问题7参考

什么是Java?[]

Java是一门编程语言和一个运行平台。不像其他语言,Java并不是直接运行在硬件上,而是运行在一个叫作JVM的虚拟机里。Java版就是用Java编写的[1],其被用于游戏逻辑的架构,渲染以及网络连接。

截至2023年9月19日,最新的Java稳定版为1.8.0_381(Oracle JDK)/1.8.0_382(OpenJDK)(长期支持版,LTS)、11.0.20(LTS)、17.0.8(LTS)、21(LTS)。 官方启动器只能使用与游戏要求最低Java版本的主要版本一致的JVM才能启动17w13a及以上版本的游戏。[2]

为什么要更新?[]

最新版本的Java包含了重要的增强功能以增强性能、稳定性以及运行在你的机器上的Java程序的安全性。安装最新的Java更新将会确保Minecraft继续安全高效地运行。

不同Minecraft版本对Java版本的最低要求不同。Java版1.12(17w13a)至Java版1.16.5(1.17:21w18a)需要Java 8启动游戏。[3]Java版1.17(21w19a)至Java版1.17.1(1.18:1.18-pre1)需要Java 16启动游戏。[4]自Java版1.18(1.18-pre2)起需要Java 17启动游戏。[5]Minecraft在非对应版本的Java上运行有时候会崩溃。更新会修复许多的问题和漏洞,通常情况下会带来性能的提升。例如,新的垃圾回收机制可以在内存占用率很高的时候降低发生卡顿的概率。运行服务器需要你的计算机安装正式版的Java,参见教程/架设服务器。

下载地址[]

你可以从甲骨文公司或构建OpenJDK的人那里获得Java。对于Minecraft来说,两者基本上是相同的,但Oracle的OTN版本需要一个付费的许可证用于商业和生产。如果你通过直播Minecraft赚钱,或者运营(即使是公益的)服务器,你必须使用OpenJDK。

对于Mac系统,可以直接从系统偏好设置\Java的位置按照提示更新Java。

Eclipse Temurin OpenJDK(原AdoptOpenJDK)(稳定版和开发版)Zulu Community OpenJDK(稳定版和开发版)Microsoft Build of OpenJDK(稳定版和开发版)Oracle OpenJDK(稳定版和开发版)——只有zip或tar.gzOracle JRE(OTN稳定版本)

你会看到,Java分为LTS(长期支持)如17和STS(短期支持)如18的版本号。LTS版本的维护时间会更长,所以人们倾向于将其作为“现代但不算太新”的Java的稳定标准。

注释[]

2019年1月(8u211)的授权变更也是Minecraft的官方启动器停留在j8u51的原因之一。Java 9至Java 16(除Java 11)不再受到甲骨文的支持,它们不再收到公共安全更新,[6]并且被视为不安全。甲骨文已从其下载页面中删除了这些版本,但仍可从Java Archive找到。甲骨文不建议使用来自Java Archive的构建版本。[7]

安装[]

在安装完Java后,在启动器的Java路径中输入新的路径即可。对于Windows一般是C:\Program Files\Java\[类型]-[版本]\bin\javaw.exe,对Linux一般是/usr/lib/[类型]/[版本]/bin/java,对MacOS一般是/System/Library/Frameworks/[类型].framework/Versions/Current/Commands/java。

必须在JVM参数中移除-XX:+CMSIncrementalMode。这个参数会导致Java 9或更高版本直接启动失败。

备注[]

由于Minecraft启动器已和Java绑定,除非你使用的是第三方启动器,否则你不需要单独下载Java。如果你的机器是64位的,建议安装64位的Java以获得最佳性能。有些系统需要管理员权限来安装Java。

已知问题[]

如果你在Windows 10上使用英特尔HD2xxx/3xxx显卡,请不要升级,因为该驱动程序存在漏洞。Java 8使用了一种较慢的渲染方法,使得它可以工作。如果你在Java版1.12.2及以前的版本使用Forge API,请不要更新到Java 9及以上版本,因为Forge API需要的部分Java API在Java 9被移除,使得它无法工作。

参考[]

    ↑http://www.java.com/zh_CN/download/faq/whatis_java.xml↑MCL-18306↑https://help.mojang.com/customer/portal/articles/2636196↑“Minecraft Snapshot 21w19a” – Minecraft.net,2021年5月12日↑“Minecraft 1.18 Pre-Release 2”–Minecraft.net,2021年11月16日↑http://www.oracle.com/technetwork/java/javase/eol-135779.html↑http://www.oracle.com/technetwork/java/archive-139210.html
查论编

教程(作下划线标记的教程为中文独有教程)

新手教程 菜单屏幕游戏术语下载、安装与购买
新手生存 新手指南第一天第二天第三天提示与技巧饥饿管理不该做的事生存注意事项
庇护所 庇护所沙漠最佳居住生物群系最佳建筑材料建筑与结构房屋类型导航
综合 无聊的时候做什么村庄生存跑酷空置域伪和平节省时间的小窍门在水下利用TNT破坏方块成就指南进度指南拓殖战斗完成冒险创建一个村庄双持沙漠生存雷暴生存下界生存从零开始下界生存末地生存探索洞穴家具在和平难度中收集资源利用碰撞箱马测量单位使用地图测量距离和角度采矿技术钻石化石远古残骸下界快速旅行下界传送门支柱跳跃PvPJava版1.9前、基岩版基地穿越和破坏基岩村庄机制考古Minecraft和教育不可破坏的末地水晶使用更少的末地水晶重生末影龙透视镜挂机池光速船[仅基岩版]无材料消耗转换药水类型[仅基岩版]汇报漏洞在超平坦地图中管理史莱姆
建筑 给工程添加美感空气闸建筑术语建造游轮建造大都市建造过山车建造安全的家园建造水建筑建造几何体防御电梯带釉陶瓦的图案建造更好的地板像素艺术牧场屋顶类型弧形屋顶屋顶建造指南装饰屋顶暗门建造居住地水下之家墙壁和桥墩水闸调色板
存储方案 整理物品潜影盒储存矿车储存物品运输
附魔与烧炼 附魔台机制铁砧机制自动化烧炼燃料选择
破坏方块 爆炸室凋灵笼
挑战 获得潮涌核心冒险模式生存挑战自定义地图制作自定义地图治愈僵尸村民征服神殿和神庙触发及战胜袭击征服掠夺者前哨站征服堡垒遗迹征服林地府邸征服海底神殿打败末影龙征服末地城打败凋灵极限模式超极限模式在一个地区中长期生存下去在无限沙漠中生存超平坦世界生存[仅Java版]岛屿生存空岛生存速通猎人游戏放牧心得探索深暗之域和远古城市愚人节版本生存22w13oneBlockAtATime
农场
方块和物品 骨粉仙人掌圆石或石头可可豆农作物(甜菜、胡萝卜、马铃薯和小麦)紫颂果鸡蛋蛙明灯蜂蜜鱼花朵冰海带零刻作物催熟技术肉蘑菇唱片下界疣黑曜石西瓜、南瓜鳞甲羊毛海泡菜雪甘蔗树木藤蔓药水经验基岩方块和物品复制铁轨复制机[仅Java版]TNT复制[仅Java版]
生物 刷怪塔怪物磨床刷怪笼陷阱动物(猪、牛、羊)烈焰人洞穴蜘蛛闪电苦力怕溺尸/僵尸末影人守卫者铁傀儡岩浆怪以物易物袭击无限触发袭击潜影贝史莱姆鱿鱼海龟村民女巫流浪商人凋灵骷髅僵尸猪灵
红石
基础红石 基本逻辑门高频电路计时器通用物品分类器抽奖箱飞行器漏斗机械侦测器稳定器密码锁随机发生器红石机械红石音乐红石技巧鲁布·戈德堡机械村民交易所
探测器 方块更新感应器比较器更新感应器阳光探测器昼夜探测器
矿车 火车站矿车储存存储系统
陷阱 雪傀儡防御炮TNT大炮活板门利用陷阱设计陷阱
活塞 活塞使用活塞电路半连接性零刻活塞无延迟中继器无头活塞
高级红石 高级红石电路算术逻辑计算器时钟摩斯密码打印机红石计算机红石电报机
服务器
使用服务器 在服务器上游玩服务器监狱防止恶意破坏服务器商店起床战争空岛战争
架设服务器 架设服务器架设基岩版服务器服务器架设脚本服务器启动脚本FreeBSD启动脚本OpenBSD启动脚本Ubuntu启动脚本WebSocket服务器[仅基岩版]架设Mod服务器[仅Java版]架设Hamachi服务器架设Spigot服务器虚拟硬盘服务器使用ngrok搭建服务器架设ZeroTier服务器
技术性 结构方块命令方块命令统计值使用命令操控实体提高帧率Minecraft帮助FAQ(IRC频道)NBT与JSONMinecraft URL Scheme[仅基岩版]更新Java运行数据生成器
地图 自定义地图下载地图生成下落的方块[仅Java版]使用MCEdit在1.13中刷新旧版海洋[仅Java版]强制打开存档[仅Java版]
资源包 制作资源包加载资源包声音目录
数据包 制作数据包实例:蜜蜂助手消除视线安装数据包自定义世界生成
附加包 基岩版开发指南制作资源附加包高级基岩版实体文档修改实体模型制作行为包自定义实体
制作游戏视频 视频
游戏安装 快照版本安装获取崩溃报告在U盘中使用旧版启动器运行及保存Minecraft恢复损坏的地图数据在Google Drive上运行Minecraft将游戏数据保存到Dropbox云端(仅限地图数据)将游戏数据保存到Dropbox云端在Chrome OS上游玩Minecraft
仅Java版 修复Apache Log4j2漏洞自定义命令触发原始JSON文本NBT命令标签编写启动器版本清单文件下载版本json文件下载
过时教程 建造微型庇护所自定义纹理包基于门的铁傀儡陷阱到达边境之地获取崩溃报告(旧版)人工湖矿车加速器中继器重启系统无数据包生存升级LWJGL更新Minecraft村庄链水梯水道游戏直播
教程 新手手册高难度通关配装总结成就指南高塔指南