1、最近学习java算法,最近写个小程碌食撞搁序运行一下,发现报错儿:java.lang.UnsupportedClassVersionError: testAlgorithm/ArrayBubble : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source)Exception in thread "main"
2、出现java.lang.UnsupportedClassVersionError 这个异常的时候,是因为用高版本的JDK编译的Java class文件,最后却试图在较低版本的JVM上运行,导致报错。
3、可能是两个版本jdk编译出的 class文件格式不同,无法执行该class文件,导致抛出:不支持的Class版本错误 异常。
4、经检查,发现我写小程序的 test工程中,为了调试一个API,改用了jdk1.6。那么调换回来,完美解决问题。
5、步骤如下图,右键项目,点击 properties,然后在java buildpath 中,选择jdk的版本,保存即可。