Unsupported major.minor version XX.0エラー
Javaを実行していると、java.lang.UnsupportedClassVersionErrorのようなエラーが表示されることがある。これは、実行中のJVMがサポートしていないJava class versionをロードしようとした場合に発生する。
エラーの発生原因
コンパイル済みのJavaバイトコードが、コンパイル時のバージョンより低いJREバージョンで実行されると発生する。
Javaバージョンごとに表示されるエラーVersion番号
Versionの後ろの数字は、次のようなバージョンを意味する。
- J2SE 8 = Version 52
- J2SE 7 = Version 51
- J2SE 6.0 = Version 50
- J2SE 5.0 = Version 49
- JDK 1.4 = Version 48
- JDK 1.3 = Version 47
- JDK 1.2 = Version 46
- JDK 1.1 = Version 45
確認事項
エラーが発生した実行Javaのバージョン情報を確認する。
$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
解決方法
解決方法は次のとおりである。
- 実行バージョンに合わせて再コンパイルする。下位バージョン向けにコンパイルすると、ソースコードエラーが発生することがある。
- 実行Javaバージョン(JRE)を上位バージョンに変更して実行する。