Javaで実行時に出たエラー
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: xxx/yyy has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
の原因と対処法について調査した。
java.lang.UnsupportedClassVersionError
以下が実際に出たエラー。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: xxx/yyy has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495) |
52はJ
55はJ
つまり、
つまり実行環境のJava
クラスファイルのバージョンとJREのバージョン
ここでJavaのクラスファイルのバージョンを整理。
| クラスファイルのバージョン | JREバージョン |
|---|---|
| 49 | Java 5 |
| 50 | Java 6 |
| 51 | Java 7 |
| 52 | Java 8 |
| 53 | Java 9 |
| 54 | Java 10 |
| 55 | Java 11 |
| 56 | Java 12 |
| 57 | Java 13 |
| 58 | Java 14 |
なんか中途半端な数字だけど
52はJava8
55はJava11
と覚えておこう。


コメント