现在的位置: 首页 > 综合 > 正文

java.lang.UnsupportedClassVersionError: Bad version number in .class file

2013年10月10日 ⁄ 综合 ⁄ 共 1015字 ⁄ 字号 评论关闭

    出现java.lang.UnsupportedClassVersionError错误的原因,是因为我们使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行,所报的错误。

    因为,高版本的JDK生成的class文件使用的格式,可能与低版本的JDK.class文件格式不同。这样,低版本的JVM无法解释执行这个.class文件,会抛出java.lang.UnsupportedClassVersionError不支持的Class版本错误。

    那么如何解决上面的问题呢?
   
措施显而易见:把它们的JDK版本改成一致
.
   
步骤如下(eclipsmyeclips操作类似
:
    1
Window --> Preferences -->Java --> compiler中的compiler compliance level对应的下拉

       菜单中选择JDK版本.
    2
Window --> Preferences -->MyEclipse --> Servers -->Tomcat --> Tomcat n.x -->JDK 

       中的Tomcat JDK name下的下拉菜单中选择自身电脑上安装的JDK版本(必需与步骤1 中的JDK

       版本一致).
      
如果还是没有解决,不用焦急,因为有些MyEclipse版本自带有JDK版本,所以也要将
它改过来.
    3
Window --> Preferences -->Java -->Installed JRES,然后在右边选择与步骤12 版本一

       致的JDK版本,如果没有,可以自身添加.然后选中就可以了.

      具体案例分析:

 1、单独运行某个Java Application ,运行到某行实例化某个类,如:Workbook.getWorkbook(xlsFile); 如果抛出此异常,先按照上述方法配置,基本能解决;如果还有此问题,建议更换高版本JDK,因为这可能是当前JDK版本对某些类的不支持造成的。

 2、tomcat运行时抛出此异常

a、 myeclips下启动tomca,抛出此异常,先按照上述方法配置,基本能解决;如果

           还有此问题,建议更换高版本JDK,因为这可能是当前JDK版本对某些类的不支

           持造成的。

b、 单独启动tomca,抛出此异常,建议更换高版本JDK,因为这可能是当前JDK版本对某些类的不支持造成的。

 

抱歉!评论已关闭.