我在 eclipes java.lang.UnsupportedClassVersionError: Bad version number in .class file
中遇到这个错误。
当我运行 javac -version
它打印
javac 1.5.0_28
在 eclipes 中,如果我右键单击,properties->java compiler 它说我正在使用 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)
原文由 dotty 发布,翻译遵循 CC BY-SA 4.0 许可协议
当您尝试运行为比您拥有的版本更新的 Java 版本编译的类时,您会遇到此错误;例如,如果您尝试在 Java 5 JVM 上使用为 Java 6 或更新版本编译的类。
它不一定是你自己的班级;您可能正在使用一些为 Java 6 或更新版本构建的库。
您正在使用特定的库(JAR 文件)吗?检查这些是否与 Java 5 兼容。或者将您的 Java 版本升级到 Java 6。