机器上同时装了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处修改。
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处修改。