LoginSignup
0
0

Quarkusでjava.lang.UnsupportedClassVersionErrorエラーが出る

Posted at

はじめ

今回はJavaのバージョンが違うエラーについてなのですが、こんなのよく遭遇するので記事があちこちにあります
しかし、私が遭遇したのがあまり見ない原因で時間がかかったのでまとめていきます

問題

Kotlin(Quarkus)でアプリを作り起動をしたところ以下のエラーが出ました

$ quarkus dev

Caused by: java.lang.UnsupportedClassVersionError: com/sample/rest/Pong has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

前まで動いていたのでなぜか動かなくなっていました
またエラーから察するにJava17以上にすれば問題ないと思うのですが

$ java -version
openjdk version "17.0.4" 2022-07-19
OpenJDK Runtime Environment Temurin-17.0.4+8 (build 17.0.4+8)
OpenJDK 64-Bit Server VM Temurin-17.0.4+8 (build 17.0.4+8, mixed mode, sharing)

ちゃんとバージョンは正しくなっていました

解決方法

quarkus devコマンドを打つとmvnコマンドが実行されます
mvnのバージョンをみました

$ mvn -v
Apache Maven 3.9.2 (c9616018c7a021c1c39be70fb2843d6f5f9b8a1c)
Maven home: /opt/maven
Java version: 11.0.19, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: ja_JP, platform encoding: UTF-8
OS name: "linux", version: "5.15.0-72-generic", arch: "amd64", family: "unix"

mvnだとjava11が使われていました
これはmvnをローカルに入れた際に自動で入ったものでそれが実行されていました

そこでmvnのバージョンを変えたところうまく行きました

私は以下の記事でいれており、export JAVA_HOME...で上書きしていたので、行を消しました

おわりに

地味に時間がかかってしまいました
記事を調べても有用なものがなく、ChatGPTも意味がなさそうでした
解決できてよかったです

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0