Jenkinsのインストールが完了し、さあ起動しようとしたとき、こんなエラーがでたことはないでしょうか。
他の記事でも書きましたが、Jenkinsがインストールされた環境によって理由が異なるので一概にコレで解決!って風にいきません。
今回はタイトル通りの理由でJenkinsが起動しない場合の解決手順を記載します。
前々から使っているサーバにJenkinsを入れようとして、古いJavaのバージョンが入っていた場合に起こると思います。
目次
まずはログを確認
まずタイトルにある通りのエラーであるかログで確認します。
※rsyslogのインストールは割愛
ログの確認
Aug 11 16:19:25 localhost systemd[1]: Starting Jenkins Continuous Integration Server...
Aug 11 16:19:26 localhost jenkins[7615]: 8 11, 2022 4:19:26 午後 executable.Main verifyJavaVersion
Aug 11 16:19:26 localhost jenkins[7615]: 重大: Running with Java class version 52, which is older than the Minimum required version 55. See https://jenkins.io/redirect/java-support/
Aug 11 16:19:26 localhost jenkins[7615]: java.lang.UnsupportedClassVersionError: 52.0
Aug 11 16:19:26 localhost jenkins[7615]: #011at executable.Main.verifyJavaVersion(Main.java:145)
Aug 11 16:19:26 localhost jenkins[7615]: #011at executable.Main.main(Main.java:109)
Aug 11 16:19:26 localhost jenkins[7615]: Jenkins requires Java versions [17, 11] but you are running with Java 1.8 from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el8.x86_64/jre
Aug 11 16:19:26 localhost jenkins[7615]: java.lang.UnsupportedClassVersionError: 52.0
Aug 11 16:19:26 localhost jenkins[7615]: #011at executable.Main.verifyJavaVersion(Main.java:145)
Aug 11 16:19:26 localhost jenkins[7615]: #011at executable.Main.main(Main.java:109)
※エラー初見で「Jenkins君、日本語でエラー吐けるのか。。。」とか思ってました
今回のエラーは「Jenkins requires Java versions [17, 11] but you are running with Java 1.8 from~」の部分です。
Javaのバージョン11または18が必要だけど1.8しか見つからないよ?
というわけですね、一応現在のjavaのバージョンを下記で確認すると、、、
[root@localhost ~]# java -version
openjdk version "1.8.0_332"
OpenJDK Runtime Environment (build 1.8.0_332-b09)
OpenJDK 64-Bit Server VM (build 25.332-b09, mixed mode)
確かに11でも18でもないようなので、JenkinsでJava11を使えるように設定します。
Java11のインストールと設定変更
Javaのインストール
dnf install java-11-openjdk java-11-openjdk-devel
普通にJavaをインストールします。
Javaの設定変更
Javaのバージョンを変更
update-alternatives --config java
update-alternativesコマンドで複数インストールされているjavaのバージョンを変更します。
update-alternativesの結果
[root@localhost ~]# update-alternatives --config java
2 プログラムがあり 'java' を提供します。
選択 コマンド
-----------------------------------------------
*+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el8.x86_64/jre/bin/java)
2 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.15.0.9-2.el8.x86_64/bin/java)
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:
2を入力しエンターを押します。
Javaのバージョンが変わったか確認
[root@localhost ~]# java --version
openjdk 11.0.15 2022-04-19 LTS
Java11に変わりました!
もう一度Jenkinsを起動します。
お前の顔が見たかったんだよ!