Java异常.UnsupportedClassVersionError

1.错误原因

        java.lang.UnsupportedClassVersionError 产生原因为使用高版本的JDK编译的Java class文件试图运行在较低版本的JVM上运行所报错误。高版本JDK生成的class文件使用的格式,可能与低版本JDK生成.class文件格式不同,因此低版本JVM无法解释执行此.class文件,便抛出java.lang.UnsupportedClassVersionError不支持的Class版本错误。该错误尤其在JDK5与JDK5之前的版本上表现明显,因为JDK5在Java语法上作了不少增强,引入了一些新的.class文件的元素,导致旧版本的JVM无法解释、执行.class文件。即使这个类并没有使用任何JDK5的新元素,但JDK5生成的.class文件,JDK1.4及其以前的JVM都无法辨认!

2.解决方法

(1)直接换JDK

         比如,Eclipse或MyEclipse IDE工具,进入首选项---Java---编译器,可看到默认的编译器的等级,这里改为JVM对应的版本即可。

(2)Retroweaver 处理

开放源代码的 Retroweaver 项目, 使用 classworking 技术来修改由 JDK 5.0 编译器生成的二进制类表示,以便这些类可以与早期的 JVM 一起使用。通过修改JDK5生成的.class文件,将其变为JVM1.4及之前版本能够运行的.class文件。目前,使用新版本的IDE编辑器可能会造成你遭遇java.lang.UnsupportedClassVersionError 错误。

(3)MyEclipse中Tomcat此类问题

在MyEclipse----应用服务器下,指定Tomcat使用的JDK版本,这样就全部指定使用设定的JDK来编译和运行程序了。注意,绝对不能够使用低版本编译程序,而又在低版本上运行程序,那将会抛出java.lang.UnsupportedClassVersionError不支持的Class版本错误。不论是Eclipse生成的war包,还是ant文件生成war包,都使用低版本编译器编译,就会在运行时出现错误,该应用程序将无法启动。查看Tomcat的日志文件,会看到java.lang.UnsupportedClassVersionError错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值