マイクラのためにJava16をインストールした
CentOS StreamにJava16をインストールした備忘録です。
久しぶりにマインクラフトをプレイしたくなり、VPSにマインクラフトサーバー1.17をインストールして起動しようとしたら下記のエラーメッセージが出て起動に失敗しました。
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: net/minecraft/server/Main has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0
調べてみるとマインクラフト1.17からJavaのバージョンがJava8からJava16に変更されたようです。
Java16をインストールする
AdoptOpenJDK用のリポジトリを登録
dnfコマンドでインストールするためにリポジトリ登録をします。
vi /etc/yum.repos.d/adoptopenjdk.repo
[AdoptOpenJDK]
name=AdoptOpenJDK
baseurl=http://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/centos/8/x86_64
enabled=1
gpgcheck=1
gpgkey=https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public
登録し終えたらインストールします
dnf install adoptopenjdk-16-hotspot.x86_64
Sponsored Link
alternativesコマンドでJava16に切り替える
Java16のインストールは終了しましたが、今回インストールした環境にはJava8が残っているのでalternativesコマンドで切り替えます。古いバージョンのJavaが存在していなければ不要な操作です。
alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
* 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el8_4.x86_64/jre/bin/java)
+ 2 /usr/lib/jvm/adoptopenjdk-16-hotspot/bin/java
Enter to keep the current selection[+], or type selection number:
使用したいJava16は2番目にありますので、2を入力します。適用されたかどうかの確認のためにJavaのバージョンを見ます。
java --version
openjdk 16.0.1 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-16.0.1+9 (build 16.0.1+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK-16.0.1+9 (build 16.0.1+9, mixed mode, sharing)
Java16をインストールし終え、マインクラフトのサーバーを起動してみたところ無事に立ち上がりました。
関連記事:CentOS8でマイクラ鯖を建てる