🐧

Minecraft 1.20.5サーバーのUnsupportedClassVersionエラーの修正ガイド

2024/04/29に公開

はじめに

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

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. リポジトリの更新

次のコマンドを使用してリポジトリを更新します。

sudo apt update && sudo apt upgrade -y

2. openjdk-21-jre-headlessのインストール

sudo apt install openjdk-21-jre-headless

それでは、Minecraftサーバー1.20.5をもう一度起動してみましょう。

4. サーバーの起動

java -Xmx1024M -Xms1024M -jar server.jar nogui

おめでとうございます、ゲームを楽しんでください。


注記:Debianでは、openjdk-21-jre-headlessはまだDebian stableリポジトリには含まれていませんが、unstableリポジトリで見つかります。

  1. /etc/apt/sources.list ファイルを編集
sudo nano /etc/apt/sources.list
  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

Discussion