モティオの開発備忘録

ITエンジニアとして働いています。

SpringBootプロジェクト起動時にjava.lang.UnsupportedClassVersionErrorで怒られた

久々にJava開発しようと思って、SpringBootプロジェクトを入れて起動しようとしたらプロジェクト起動時に以下のエラーで怒られた...。

以下エラー内容。


    Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/SpringApplication 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 60.0
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)
	at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1010)
	at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
	at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:855)
	at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:753)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:676)
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:634)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
	at com.example.MyAppApplication.main(MyAppApplication.java:10)
  

原因

確認したら入れたSpringBootのバージョンは3.1.5だった。SpringBoot3系はJAVAのバージョンが最低でも17ないといけないらしい...。

3.1.5のシステム要件は以下参照。

spring.pleiades.io

対応

新しくJdkをインストールし、設定を行った。今回はAmazonCorretto21系をインストールし、Eclipse上で設定を行った。
パッケージ・エクスプローラー内の「JREシステム・ライブラリー」の上で右クリックし、「プロパティ」を選択。

システム・ライブラリーのメニューから「代替JRE」を選択して、自身のインストールした新しいjdkを適用する。

上記設定後、再度起動を試みると起動できた。めでたし、めでたし。

 

以下の記事は参考にさせていただきました。ありがとうございます。

it-jog.com