jenkins起動時にエラー「java.lang.UnsupportedClassVersionError: 58.0」が発生した場合の対処法

jenkins起動時にエラー「java.lang.UnsupportedClassVersionError: 58.0」が発生した場合の対処法を記述してます。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- Jenkins 2.222.3
エラー内容
jenkins起動時に発生。
systemctl status jenkins
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; generated)
Active: active (exited) since Fri 2020-05-15 03:30:35 EDT; 5s ago
Docs: man:systemd-sysv-generator(8)
Process: 21611 ExecStop=/etc/rc.d/init.d/jenkins stop (code=exited, status=0/SUCCESS)
Process: 21624 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
localhost.localdomain jenkins[21624]: java.lang.UnsupportedClassVersionError: 58.0
localhost.localdomain jenkins[21624]: at Main.verifyJavaVersion(Main.java:174)
localhost.localdomain jenkins[21624]: at Main.main(Main.java:142)
localhost.localdomain jenkins[21624]: Jenkins requires Java versions [8, 11] but you are running with Java 14 from /usr/lib/jvm/adoptopenjdk-14-hotspot
localhost.localdomain jenkins[21624]: java.lang.UnsupportedClassVersionError: 58.0
localhost.localdomain jenkins[21624]: at Main.verifyJavaVersion(Main.java:174)
localhost.localdomain jenkins[21624]: at Main.main(Main.java:142)
localhost.localdomain runuser[21632]: pam_unix(runuser:session): session closed for user jenkins
localhost.localdomain jenkins[21624]: [ OK ]
localhost.localdomain systemd[1]: Started LSB: Jenkins Automation Server.
原因
エラーメッセージに書いてある通り、javaのバージョンが14だったため発生。
Jenkins requires Java versions [8, 11] but you are running with Java 14
対処法
java11をインストールして、javaのバージョンを変更する。ここでは11に変更してます。
ここでは 商用利用が可能な コミュニティにより提供されている「OpenJDK」のバイナリ「adoptopenjdk」をインストールします。
詳細はこちらに記述してます。まずjava11をインストールするため、リポジトリを追加します。
## リポジトリを追加
sudo 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 list adoptopenjdk*
## 14をインストール
sudo dnf -y install adoptopenjdk-11-hotspot.x86_64
バージョンを変更します。
sudo update-alternatives --config java
3 プログラムがあり 'java' を提供します。
選択 コマンド
-----------------------------------------------
+ 1 /usr/lib/jvm/adoptopenjdk-14-hotspot/bin/java
2 /usr/lib/jvm/adoptopenjdk-11-hotspot/bin/java
* 3 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el8_1.x86_64/jre/bin/java)
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
-
前の記事
windows server2012 突然リモートディスクトップ接続ができなくなった場合の対処法 2020.05.26
-
次の記事
React.js ライブラリ「react-hook-qrcode」を使ってQRコードを生成する 2020.05.27
コメントを書く