UnsupportedClassVersionError

来源:互联网 发布:手机淘宝10.0 编辑:程序博客网 时间:2024/04/30 19:47
机器上同时装了jdk1.42和1.5两个版本,正在用的jvm是1.42的,用Eclipse写了下面一段代码,编译,运行,console提示如下异常:

java.lang.UnsupportedClassVersionError: math/ErrorTest (Unsupported major.minor version 49.0)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
Exception in thread "main"

解决方法:高版本jdk编译好的class无法在低版本的jvm上运行导致。以我的情况为例,把Eclipse的编译设置改成用jdk1.4编译就好了。 菜单 Windows -> Preferences -> Java -> Compiler 下面 JDK Compiliance 的compiler compiliance level处修改。