java.lang.UnsupportedClassVersionError: Bad version number in .class file异常的处理方法

来源:互联网 发布:淘宝综合排名规则 编辑:程序博客网 时间:2024/05/29 11:48

转载来自:http://hellosure.iteye.com/blog/868729

今天新建了一个基于jdk6的工程,在tomcat中部署之后,运行抛异常:java.lang.UnsupportedClassVersionError: Bad version number in .class file 


(注:jdk5中,实现接口方法不能用@Override ,只有重写抽象方法可以用,所以系统属性中的jdk不能设为6.0或1.6) 


造成这种过错的原由是支撑Tomcat运行的JDK版本与支撑application运行的JDK版本不一致导致的. 
那么如何解决上面的问题呢? 
措施显而易见:把它们的JDK版本改成一致. 

处理方法如下: 
1.Window ->Preferences ->Java ->compiler中的compiler compliance level对应的下拉菜单中选择JDK6.0版本(之前是5.0) 
2.Window -> Preferences ->Java ->Installed JRES选择安装的jdk1.6,(之前是MyEclipse6.5,相当于5.0)(注意不要选jre) 
3.Window -> Preferences ->MyEclipse -> Servers ->Tomcat -> Tomcat 6.x -->JDK中的Tomcat JDK name选择与步骤2相同 

done 

题外话,然后抛另一个异常:java.util.MissingResourceException: Can't find bundle for base name views, locale zh_CN   
查到相关的资料说是资源文件没有放入source folders。 
处理方式是: 
在本工程属性的java build path的source中将资源resource添加进来 
实践发现source里面的目录下的所以东西都会直接发布到WEB-INF/classes下,刚才没有包含资源文件那当然是无法完成编译的。 

---------------------------------我是分割线,一下更新与11.7.16---------------------------------- 

由于我本机上装的MyEclipse是6.5的,版本比较低,前年和去年的web项目用的JDK5版本的,后来的项目用的都是JDK6版本的,所以经常被JDK5和6版本的问题改来改去,搞的很不爽,现在总结在一起,以后再不被这个问题绊倒了。 

首先,Eclipse自带一套JDK,6.5的MyEclipse自带的是1.5版本的JDK。 
那么如果项目是基于1.5的,那么就用这个自带的没问题。 
这时,在Window ->Preferences ->Java ->compiler中的compiler compliance level默认的是5.0 如图 
同时Window ->Preferences ->Java ->Installed JREs的列表中只有MyEclipse一个JRE,这个JRE的版本和MyEclipse自带的JDK版本肯定是对应的,也就是1.5的。如图 
好,以上这两个配置是针对MyEclipse的,决定了:你的项目准备部署在什么样的环境中?(其实很自然想到了,如果是JDK1.5写的程序,就运行在JDK和JRE1.5的环境中喽。所以可以认为项目属性和MyEclipse属性是相对应的) 
那么对于这种JDK1.5的项目,其项目属性如何配置就很清楚了: 
首先项目右键后Preferences ->Java compiler选择5.0 如图 
然后,项目右键后Preferences ->Java Build Path ->Libraries列表中,MyEclipse6.5这个JDK应该是默认被加进来了。如图(如果没有被自动加进,那么可以参照下面的做法) 
好了,以上就是对用JDK1.5的项目如何进行部署。在项目属性中设置的是项目的编译环境(使用JDK1.5),在MyEclipse的属性中设置的是项目的运行环境(使用相对应的JRE1.5) 

下面来说说如何部署一个使用JDK1.6的项目,其实是差不多的,不过由于之前在这个上面被多次绊倒,今天说啥都要把这个步骤写清楚,让自己记住。 
好,首先,要自己安装一套JDK1.6,如图,这是准备工作,因为本机上并没有JDK1.6,MyEclipse6.5又不自动提供,那总得安装一下吧。 
然后和上面类似的事情开始了: 
在Window ->Preferences ->Java ->compiler中的compiler compliance level选择6.0 
在Window ->Preferences ->Java ->Installed JREs中点击Add,然后把刚安装的JDK1.6引入进来 如图 
然后在列表中选择JDK1.6 如图 
好了,这下MyEclipse的运行环境就改为1.6版本了。 
接下来开始配置项目的属性: 
首先项目右键后Preferences ->Java compiler选择6.0 
然后,项目右键后Preferences ->Java Build Path ->Libraries列表中,先将MyEclipse6.5删除,然后点击Add Library..,双击JRE System Library,如图 
选择JDK1.6,要是没有就Add喽,还是去找安装的JDK1.6,好啦,这就完成了。 
0 0
原创粉丝点击