はじめに

UbuntuでMinecraft 1.20.5サーバーを起動しようとすると、厄介なエラー「UnsupportedClassVersionError」に遭遇することがあります。このエラーは、サーバーのメインクラス「net.minecraft.bundler.Main」が、現在システムにインストールされているJavaランタイム(クラスファイルバージョン62.0まで対応)よりも新しいバージョン(クラスファイルバージョン65.0)でコンパイルされているために発生します。このガイドでは、JavaランタイムEnvironmentを互換性のあるバージョンに更新することで、このエラーを解決する方法を説明します。


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を必要とするためです。

1.20.5サーバーは https://www.minecraft.net/en-us/download/server からダウンロードできます。


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