简介

当尝试在Ubuntu上启动Minecraft 1.20.5服务器时,你可能会遇到一个令人烦恼的错误:UnsupportedClassVersionError。这个问题出现是因为服务器的主类net.minecraft.bundler.Main是用较新版本的Java运行时(类文件版本65.0)编译的,而你的系统上安装的Java版本只支持到类文件版本62.0。本指南将帮助你通过更新Java运行时环境到兼容版本来解决这个错误。


1
2
3
4
CloseX@CloseX:~/minecraft/1.20.5$ java -Xmx1024M -Xms1024M -jar server.jar nogui

Error: LinkageError occurred while loading main class net.minecraft.bundler.Main
java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main 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 62.0

这是因为最新的Minecraft服务器1.20.5需要Java 21。

你可以从 https://www.minecraft.net/en-us/download/server 下载1.20.5服务器


1. 更新软件源

使用以下命令更新软件源。

1
sudo apt update && sudo apt upgrade -y

2. 安装openjdk-21-jre-headless

1
sudo apt install openjdk-21-jre-headless

让我们再次尝试启动Minecraft服务器1.20.5。

4. 启动服务器

1
java -Xmx1024M -Xms1024M -jar server.jar nogui

恭喜你,享受你的游戏吧。


注意:在Debian上,openjdk-21-jre-headless尚未包含在Debian稳定版软件源中。但是,它可以在不稳定版软件源中找到。

  1. 编辑 /etc/apt/sources.list 文件
1
sudo nano /etc/apt/sources.list
  1. 添加软件源
1
deb http://deb.debian.org/debian sid main
  1. ctrl+ o 保存文件,按 ctrl+x 退出

然后更击软件源并安装openjdk-21-jre-headless

参考资料

  1. https://dannyda.com/2024/04/25/how-to-fix-minecraft-server-1-20-5-linuxgsm-java-error-java-runtime-only-recognizes-class-file-versions-up-to-61-0-on-debian-12/


  2. https://blog.closex.org/posts/20044/index.html