各Minecraft常见版本所需Java版本及其常见答疑(含下载链接)
北葵Starry
编辑于 2026年04月04日 11:34
收录于文集
共28篇

上次更新时间:2026/2/2

因为我总要找每个版本需要什么Java,有些时候挺麻烦的,小白有时候也不知道什么是Java,所以我就想要不就把我找到的收集起来喵呜,这样方便大家更方便地找到,总之这篇有空我会去更新的咕噜。

同时,在某些版本使用更新的Java会出严重的崩溃问题,因此我会加上我的个人经验,告诉大家哪些版本相对稳定。

最低Java版本要求

先贴一个来自Minecraft Wiki的Minecraft对Java的运行标准:(https://zh.minecraft.wiki/w/Java%E7%89%88)

  • 从1.12(17w13a)开始,运行Minecraft的最低要求是Java 8

  • 从1.17(21w19a)开始,运行Minecraft的最低要求是Java 16

  • 从1.18(1.18-pre2)开始,运行Minecraft的最低要求是Java 17

  • 从1.20.5(24w14a)开始,运行Minecraft的最低要求是Java 21,且操作系统要求为64位

  • 从26.1(26.1-snapshot-1)起,运行Minecraft的最低要求为Java 25

个人推荐Java版本

因为使用不符合各MC发布的版本时间相近的Java,使用较高版本的Java会出现较为明显的兼容性问题,因此对于最高版本还是有一定要求的,过高会导致出现问题,因此留下我的个人意见。顺便为了方便下载,给大家找了Java下载直链。

(≈)号表示版本号可上下较小范围浮动

常用的MC版本 => 对应个人认为稳定的版本

  • Java8

    1.12.2+不推荐使用≤Java8_81

    1.7.10 / 1.12.2 / 1.14.4 / 1.16.5 => ≈Java8_291

    Zulu Java8 292 JDK Winodws版本下载地址:https://cdn.azul.com/zulu/bin/zulu8.54.0.21-ca-jdk8.0.292-win_x64.msi

  • Java11

    1.16.5(特定模组需要Java11时)=> ≈Java11.0.18

    Zulu Java11.0.18 JDK Winodws版本下载地址:https://cdn.azul.com/zulu/bin/zulu11.62.17-ca-jdk11.0.18-win_x64.msi

  • Java17

    1.18.2 / 1.19.2 / 1.20.1 => ≈Java17.0.6 

    Zulu Java17.0.6 JDK Winodws版本下载地址:https://cdn.azul.com/zulu/bin/zulu17.40.19-ca-jdk17.0.6-win_x64.msi

  • Java21

    1.20.5 / 1.21.1  => ≈Java21.0.5

    Zulu Java21.0.5 JDK Winodws版本下载地址:https://cdn.azul.com/zulu/bin/zulu21.38.21-ca-jdk21.0.5-win_x64.msi

  • Java25

    26.1+

    Zulu Java25.0.1 JDK Winodws版本下载地址:https://cdn.azul.com/zulu/bin/zulu25.30.17-ca-jdk25.0.1-win_x64.msi

    1.12.2+不推荐使用≤Java8_81

    1.12.2~1.16.5主要还是用Java8

    1.16.5主要还是用Java8与Java11两种(Java11是现有相当一部分模组的需要,正常请默认使用Java8)

    1.20.1不要用≥Java21,容易出问题

以下为Mac版本

  • 系统差异提醒:针对Mac用户,请注意自身机器芯片类型是属于Apple Silicon(M系列)(使用ARM的Java)还是Intel Mac(使用x86_64的Java)。如果在本该运行ARM Java的Apple Silicon上使用了x86_64的Java,虽然也能运行(会通过Rosetta转译),但启动MC会更慢,运行效率较为明显下降,性能不高,耗电也会更多。

  • Java8:

    Zulu Java8 292 JDK Mac版本 ARM 64下载地址:https://cdn.azul.com/zulu/bin/zulu8.54.0.21-ca-jdk8.0.292-macosx_aarch64.dmg

    Zulu Java8 292 JDK Mac版本 x86 64下载地址:https://cdn.azul.com/zulu/bin/zulu8.54.0.21-ca-jdk8.0.292-macosx_x64.dmg

  • Java11:

    Zulu Java11.0.18 JDK Mac版本 ARM 64下载地址:https://cdn.azul.com/zulu/bin/zulu11.62.17-ca-jdk11.0.18-macosx_aarch64.dmg

    Zulu Java11.0.18 JDK Mac版本 x86 64下载地址:https://cdn.azul.com/zulu/bin/zulu11.62.17-ca-jdk11.0.18-macosx_x64.dmg

  • Java17:

    Zulu Java17.0.6 JDK Mac版本 ARM 64下载地址:https://cdn.azul.com/zulu/bin/zulu17.40.19-ca-jdk17.0.6-macosx_aarch64.dmg

    Zulu Java17.0.6 JDK Mac版本 x86 64下载地址:https://cdn.azul.com/zulu/bin/zulu17.40.19-ca-jdk17.0.6-macosx_x64.dmg

  • Java21:

    Zulu Java21.0.5 JDK Mac版本 ARM 64下载地址:https://cdn.azul.com/zulu/bin/zulu21.38.21-ca-jdk21.0.5-macosx_aarch64.dmg

    Zulu Java21.0.5 JDK Mac版本 x86 64下载地址:https://cdn.azul.com/zulu/bin/zulu21.38.21-ca-jdk21.0.5-macosx_x64.dmg

  • Java25:

    Zulu Java25.0.1 JDK Mac版本 ARM 64下载地址:

    https://cdn.azul.com/zulu/bin/zulu25.30.17-ca-jdk25.0.1-macosx_aarch64.dmg

    Zulu Java25.0.1 JDK Mac版本 x86 64下载地址:

    https://cdn.azul.com/zulu/bin/zulu25.30.17-ca-jdk25.0.1-macosx_x64.dmg

常见问答

  • Q:我在游戏崩溃日志中发现这些,是游戏在提醒我使用了错误的Java吗?

    例如1,正在使用Java17时遇到:

    The requested compatibility level JAVA_21 could not be set. Level is not supported by the active JRE or ASM version (Java 17.0, ASM 9.6 (ASM10_EXPERIMENTAL))

    请求所兼容Java版本为 JAVA_21,但你现正使用的JRE(Java运行环境)或ASM版本未能满足(Java 17.0, ASM 9.6)

    例如2,正在使用Java21时遇到:

    Error loading class: XXXXX (java.lang.IllegalArgumentException: Class file major version 65 is not supported by active ASM (version 9.0 supports class version 61), reading XXXXX)

    加载类错误:XXXXX(在读取XXXXX,该class文件版本为65,正在使用的ASM无法提供支持(现需要的版本为 9.0 ,最高支持的class版本为 61))

    例如3,正在使用Java17时遇到:

    Caused by: java.lang.UnsupportedClassVersionError: net/minecraft/world/inventory/AnvilMenu has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0

    崩溃导致原因:不支持的Java类版本错误:

    net/minecraft/world/inventory/AnvilMenu是由更新的Java编译而成(class文件版本为65.0),但您现有的Java最高只支持61.0的class文件版本。

    A:Yes,这些错误是游戏在提醒你使用了错误的Java。(好AI的说法)

    有时候日志里会好心提醒你,你的Java版本不对,但有些时候会拐弯抹角,告诉你ASM什么玩意,需要你绕回来去看Java版本不对劲(Java和ASM的关系我就不展开了(),嗯...

    加上有很多人主要还是来玩个游戏的,也不是这领域的,自然就没办法分清Java版本与class文件的关系,因此我在这里列出来,方便大家查询喵呜。

  • Java 8 对应的class文件版本号是52

  • Java 9 对应的class文件版本号是53

  • Java 10 对应的class文件版本号是54

  • Java 11 对应的class文件版本号是55

  • Java 12 对应的class文件版本号是56

  • Java 13 对应的class文件版本号是57

  • Java 14 对应的class文件版本号是58

  • Java 15 对应的class文件版本号是59

  • Java 16 对应的class文件版本号是60

  • Java 17 对应的class文件版本号是61

  • Java 18 对应的class文件版本号是62

  • Java 19 对应的class文件版本号是63

  • Java 20 对应的class文件版本号是64

  • Java 21 对应的class文件版本号是65

    那接下来看上面的例子,例子1还好,直接告诉你Java用错了。

    来看例子2,在使用Java21(编译出的class文件版本号是65)时,游戏的ASM无法识别更高版本的class文件(class文件版本号是61)对应,自然就出问题了,需要换成Java17或以下运行,但最低不能低于游戏版本的最低Java要求。

    例子3的话和例子2处理方法大同小异,去换成原本文件编译好的那个Java版本就好,class文件版本61.0也就是61,根据上面的列表,说明我们现在在使用的是Java17;而游戏中的那个文件需要的class文件版本65.0也就是65,也就按上面的列表来说,游戏需要的是Java21。那么我们就换成Java21运行即可。

    Q:怎么改游戏用的Java?

    A:

    你需要在启动器中修改对应游戏版本需要的Java

HMCL启动器

PCL2启动器

如果你在打开启动器的时候安装了Java,启动器可能并不会及时刷新到新的Java,需要你关闭启动器后再打开一遍启动器。

Q:我看见Java分不少牌子,有Oracle(甲骨文)的,有BellSoft的,有Zulu的,我要选哪个?

A:BellSoft、Oracle(甲骨文)等公司都提供了他们自己版本的Java,不同的版本的Java,包含了一些特定的优化、特性或者问题修复。对于游戏的运行,其实不同公司推出的Java,理论上都可以运行Minecraft,也无需过多挑选。但据我所知,对于游戏优化方面,Zulu内存占用相对较小(也是听途,需要实证)。

Q:我看见下载的Java有JRE和JDK之分,这有影响吗?

A:JRE(Java运行环境),JDK(Java开发工具),游戏只需要Java运行环境来运行,而开发工具会包含运行环境的,因此理论上使用两者运行游戏都是一样的效果。不过实际上,你要问具体有什么影响...JDK文件会比JRE大(,除此之外,在较新的游戏版本,JRE兼容性会比较差,建议需要使用Java11+的,下载JDK版本而非JRE版本。


就先写到这里了,有任何问题,可以评论砸我(((,毕竟是个人的经验,我会去修改的,有用就点个赞好了。