Webエンジニアのメモ帳

技術的な話を中心に書いています。

【Java】jarの実行時のエラーと解決法

エラーの概要

CentOSのサーバでjarを実行しようとしたところ、以下のエラーが発生しました。

Exception in thread "main" java.lang.UnsupportedClassVersionError: {クラス名} has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

原因

原因は、Javaのバージョンが古いことでした。

以下のコマンドでバージョンを確認してみたところ、1.8になっていました。

$ java -version
openjdk version "1.8.0_322"
OpenJDK Runtime Environment (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

解決方法

OpenJDK17をインストールします。

方法はいくつかありますが、私は以下のコマンドを実行して導入しました。

$ yum install -y https://cdn.azul.com/zulu/bin/zulu-repo-1.0.0-1.noarch.rpm
$ yum install zulu17-jdk

Javaのバージョンを確認すると、17になっており、jarファイルも無事に実行することができました。

$ java -version
openjdk version "17.0.2" 2022-01-18 LTS
OpenJDK Runtime Environment Zulu17.32+13-CA (build 17.0.2+8-LTS)
OpenJDK 64-Bit Server VM Zulu17.32+13-CA (build 17.0.2+8-LTS, mixed mode, sharing)