1. ホーム
  2. java

[解決済み] java.lang.UnsupportedClassVersionError: .classファイルに不正なバージョン番号がある

2022-02-07 18:56:31

質問

eclipesでこのようなエラーが発生しています。 java.lang.UnsupportedClassVersionError: Bad version number in .class file .

を実行すると javac -version と表示されます。

javac 1.5.0_28

eclipesの中で右クリックし、プロパティ->javaコンパイラを使用すると、以下のように表示されます。 1.5 で、次に java build path ということで、私は JRE System Library [JVM 1.5.0 (MacOS X Default)] が入っています。

なぜこのようなエラーが発生するのでしょうか、また、どのように修正すればよいのでしょうか?

エディテージ

java -version 印刷物

java version "1.5.0_28"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_28-b04-382-9M3326)
Java HotSpot(TM) Client VM (build 1.5.0_28-157, mixed mode, sharing)

私のアプリケーションの他のライブラリは、libgdxライブラリです。

エラーの全容は

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:676)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:317)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375)

解決方法は?

例えば、Java 6以降にコンパイルされたクラスをJava 5のJVMで使用しようとすると、このエラーが発生します。

必ずしも自分のクラスである必要はなく、Java 6以降に作られた何らかのライブラリを使用している可能性もあります。

特定のライブラリ(JARファイル)を使用していませんか?これらがJava 5と互換性があるかどうかを確認してください。または、JavaのバージョンをJava 6にアップグレードしてください。