当前位置:网站首页 > 技术博客 > 正文

我的世界java版本大全



上次更新时间:2024/8/7

因为我总要找每个版本需要什么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位

因为使用不符合各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 JRE Winodws版本下载地址:https://www.azul.com/core-post-download/?endpoint=zulu&uuid=ea336f59-9e16-4502-9938-f2a7c7cd2fa1)

Java11

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

(Zulu Java11.0.18 JDK Winodws版本下载地址:https://www.azul.com/core-post-download/?endpoint=zulu&uuid=1af65b7f-7d28-4e23-b59c-e9ec3189cd36)

Java16

1.16.5(特定情况下需要Java16时)

(Zulu Java16.0.2 JDK Winodws版本下载地址:https://www.azul.com/core-post-download/?endpoint=zulu&uuid=7e24efa5-590f-4c4c-b8a7-20b2cb352da4)

Java17

1.18.2 / 1.19.2 / 1.20.1 => ≈Java17.0.6 

(Zulu Java17.0.6 JDK Winodws版本下载地址:https://www.azul.com/core-post-download/?endpoint=zulu&uuid=a-3e20-400f-bae0-da1b8a1a31cb)

Java21

1.20.5+  => ≈Java21.0.3

(Oracle Java21.0.3 JDK Winodws版本下载地址:https://download.oracle.com/java/21/latest/jdk-21_windows-x64_bin.msi)

1.12.2+不推荐使用≤Java8_81

1.12.2~1.16.5主要还是用Java8

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

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

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

例如,正在使用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)

例如,正在使用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))


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

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

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

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

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

Q:怎么改游戏用的Java?

A:

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

如果你在打开启动器的时候安装了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兼容性会比较差,建议需要使用Java17+的,下载JDK版本而非JRE版本。

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

  • 上一篇: spring aspectj aop
  • 下一篇: strace命令详解
  • 版权声明


    相关文章:

  • spring aspectj aop2025-08-15 10:01:04
  • 什么是数据库的事务处理2025-08-15 10:01:04
  • 抓包packet capture2025-08-15 10:01:04
  • 深度神经网络通俗理解2025-08-15 10:01:04
  • java hashset hashcode2025-08-15 10:01:04
  • strace命令详解2025-08-15 10:01:04
  • 对称密码算法和非对称密码算法2025-08-15 10:01:04
  • 滑动验证代码2025-08-15 10:01:04
  • 方舟生存进化神器大全_神器位置_攻略-4399方舟生存进2025-08-15 10:01:04
  • @aspect注解与@pointcut2025-08-15 10:01:04