分享

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

 好闺女瑶瑶 2018-04-20

今天新建了一个基于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条评论

    发表

    请遵守用户 评论公约

    类似文章 更多