Bad version number in .class file这个问题的解决方法

来源:互联网 发布:网络诚信会有什么风险 编辑:程序博客网 时间:2024/05/23 00:19

发生问题的场景是这样的,我使用的是MyEclipse6.6(版本比较老),自带Servers tomcat

使用MyEclipse启动tomcat后,报错“java.lang.UnsupportedClassVersionError:Bad version number in .class file”。

 

解决方法是这样的:

步骤1:确定当前使用的JDK版本

目前使用的JDK版本如何查看呢?

到当前工程的属性后,选择"Java BuildPath"进去后JRE System Library


注意:MyEclipse6.6的JRE是5.0的,所以如果你看到你的MyEclipse的JDK只有MyEclipse6.6这个JRE环境,那么需要再安装JRE环境。

打开InstalledJREs,重新Add一个JRE,指定一个JRE路径,使用自己安装的JDK 6.0,也就是JRE 6的环境进行编译。

参考:myeclipse配置jdk

之后选择我们新安装的这个JDK环境。

步骤2:设置tomcat的JDK版本

windows->preferences->MyEclipseEnterprise Workbench->Servers->Tomcat->选择一人版本的tomcat->JDK->修改成当前使用的JDK版本即可。


在MyEclipse中,我用的是jdk1.6.0_02开发的,因此把项目部署到tomcat中时,默认用的是项目的jdk1.6.0_02进行编译java文件,然后和项目一起发布到tomcat里面。但是如果tomcat服务器的JDK版本与MyEclipse开发时使用的JDK版本不上下兼容(tomcat在上),也会报这个错误

 

步骤3:修改编译兼容等级

进到当前工程的属性后,选择"JavaCompiler"进去后将"CompilerCompliance level"设置为6.0


MyEclipse 6.6的JRE是5.0的,如果没有安装JDK6.0,即使设置了Compiler compliance level为6.0,其实依然是再5.0的JRE下进行编译的。 仍然会报错。

 

报这个错误的原因

上面总结了这个错误的两个原因:

一是MyEclipse使用的JDK版本和tomcat使用的版本不兼容;

二是使用了MyEclipse自带的太老的JRE。


0 0