文献:http://www.verydemo.com/demo_c89_i228285.html
刚开始在控制台运行的时候是正常的,但自从我在控制台运行了一个JDBC程序报了这个异常后,我运行任何程序都会报这个异常了,我把CLASSPATH认真检查了好几遍,并且还恢复到以前的设置,但还是会报这个异常,但在Eclipse中一切正常,真是块让我疯了啊,
Exception in thread main java.lang.UnsupportedClassVersionError: Joseph (Unsup
ported major.minor version 50.0)
at java.lang.ClassLoader.defineClass0(Native Method)
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$100(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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
通常这种异常是因为类版本不一样造成的,比如使用高版本jdk(如jdk1.5)编译的类在低版本的jre(比如jre1.4)上运行,就会报这种异常。
建议检查一下工程中用到的jdk和运行时的jre版本。
环境变量没有设对。
可能是安装JDK后,安装其他软件的时候(例如Oracle),该软件自动安装了低版本的jre。
找到path变量看看就知道怎么回事了。
通常安装Oracle后,Oracle会默认将一个低版本的jre放到Path的最前面,只要把它去掉就可以了,不会影响它的使用,只要path里有一个jdk/bin/就可以了。
把你的jdk设置到oracle前面就可以了