Bad version number in .class file的解决方法
2013-08-03 23:10
274 查看
当项目部署到tomcat后,tomcat启动时报错:Bad version number in .class file
原因是编译java时生成的class文件,在运行时用到的JRE和class文件版本不一致造成的。例如JRE是1.5,编译的JDK是1.6。
1)这时候首先确认eclipse的编译JDK版本:
![](http://android.blog.51cto.com/attachment/201201/164003743.jpg)
然后可以点击菜单Project->clean来重新编译整个项目(Build Automatially要勾上哦),或者重新保存具体的某个文件来重新自动编译!
2.确认Tomcat的运行时JDK:
![](http://android.blog.51cto.com/attachment/201201/164521308.jpg)
或者
![](http://android.blog.51cto.com/attachment/201201/164616149.jpg)
这样子就可以重新部署项目,或者把具体某个重新编译的class文件copy到相应的位置。再次启动项目,就没事了!
项目没有错误,在项目部署到tomcat后,tomcat启动时报错:
java.lang.UnsupportedClassVersionError: Bad version number in .class file 。。。
这个问题我原来遇到过,原因应该是编译java时生成的class文件,在运行时用到的JRE和class文件版本不一致造成的。
1 如果是一般的java程序:
可以在MyEclipse中修改JRE的路径和版本。在Window->Preferences中,打开如下位置,就可修改JRE:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/01/6dad37efd846c8d5326b81d0d24bec55.jpg)
修改完之后,最好重新编译一下,选Project->Clean... 选项,然后选择是所有的项目都要重新编译,还是只重新编译指定的项目,然后就应该没问题了。
今天一开始我也是这么做的,但是还是报错,在网上搜了一下之后,因为这是Web项目,程序当然是在Tomcat上运行的,所以我们这么改当然不行。
2 如果是Web 程序
就要修改Tomcat运行时的JDK环境了,如下图:
把JDK的路径和之前Installed JRE的设置成一样的,这个问题就解决了!(虽然这里面设置的是JDK的路径,但是我觉得其实就是在设置JRE的路径,因为java程序运行的时候需要的是JRE,而不是JDK。我们装JDK的时候,一般都装了2个JRE,一个是JDK里面的JRE,还有一个和JDK平级的JRE,刚才我上网查了一下,这两个JRE的区别不大,大家也可以去查一下,每次都可以选择任何一个JRE,但是之后配置的吆喝前面的一致。)
如果不清楚JDK和JRE的关系的,可以上网查一下。
一般情况下,我们运行别人的程序可能会遇到这个问题。
再做个小小的延伸。。
这个项目编译并没有报错,如果我们导入别人的项目之后,出现了很多错误,那就是JDK版本的问题了,可以在这里修改:
可以选择1.3,1.4,5.0,6.0.
解决办法:三版本统一,Java Program bulid path 、tomcat JDK、JavaProgram---Javacompiler,这里我选择的都是JDK1.5,可气的是同样的错误还是出现,最后安装JDK1.6,三个版本 统统改成1.6问题解决
原因是编译java时生成的class文件,在运行时用到的JRE和class文件版本不一致造成的。例如JRE是1.5,编译的JDK是1.6。
1)这时候首先确认eclipse的编译JDK版本:
![](http://android.blog.51cto.com/attachment/201201/164003743.jpg)
然后可以点击菜单Project->clean来重新编译整个项目(Build Automatially要勾上哦),或者重新保存具体的某个文件来重新自动编译!
2.确认Tomcat的运行时JDK:
![](http://android.blog.51cto.com/attachment/201201/164521308.jpg)
或者
![](http://android.blog.51cto.com/attachment/201201/164616149.jpg)
这样子就可以重新部署项目,或者把具体某个重新编译的class文件copy到相应的位置。再次启动项目,就没事了!
项目没有错误,在项目部署到tomcat后,tomcat启动时报错:
java.lang.UnsupportedClassVersionError: Bad version number in .class file 。。。
这个问题我原来遇到过,原因应该是编译java时生成的class文件,在运行时用到的JRE和class文件版本不一致造成的。
1 如果是一般的java程序:
可以在MyEclipse中修改JRE的路径和版本。在Window->Preferences中,打开如下位置,就可修改JRE:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201910/01/6dad37efd846c8d5326b81d0d24bec55.jpg)
修改完之后,最好重新编译一下,选Project->Clean... 选项,然后选择是所有的项目都要重新编译,还是只重新编译指定的项目,然后就应该没问题了。
今天一开始我也是这么做的,但是还是报错,在网上搜了一下之后,因为这是Web项目,程序当然是在Tomcat上运行的,所以我们这么改当然不行。
2 如果是Web 程序
就要修改Tomcat运行时的JDK环境了,如下图:
把JDK的路径和之前Installed JRE的设置成一样的,这个问题就解决了!(虽然这里面设置的是JDK的路径,但是我觉得其实就是在设置JRE的路径,因为java程序运行的时候需要的是JRE,而不是JDK。我们装JDK的时候,一般都装了2个JRE,一个是JDK里面的JRE,还有一个和JDK平级的JRE,刚才我上网查了一下,这两个JRE的区别不大,大家也可以去查一下,每次都可以选择任何一个JRE,但是之后配置的吆喝前面的一致。)
如果不清楚JDK和JRE的关系的,可以上网查一下。
一般情况下,我们运行别人的程序可能会遇到这个问题。
再做个小小的延伸。。
这个项目编译并没有报错,如果我们导入别人的项目之后,出现了很多错误,那就是JDK版本的问题了,可以在这里修改:
可以选择1.3,1.4,5.0,6.0.
解决办法:三版本统一,Java Program bulid path 、tomcat JDK、JavaProgram---Javacompiler,这里我选择的都是JDK1.5,可气的是同样的错误还是出现,最后安装JDK1.6,三个版本 统统改成1.6问题解决
相关文章推荐
- tomcat bad version number in class file 的解决方法
- Bad version number in .class file 异常解决方法
- Bad version number in .class file的解决方法
- 出现java.lang.UnsupportedClassVersionError: Bad version number in .class file问题的解决方法分析
- Tomcat启动web项目报Bad version number in .class file (unable to load class ...)错误的解决方法
- java.lang.UnsupportedClassVersionError: Bad version number in .class file 解决方法
- tomcat bad version number in class file 的解决方法
- tomcat bad version number in class file 的解决方法
- Bad version number in .class file这个问题的解决方法
- tomcat bad version number in class file 的解决方法
- Bad version number in .class file的解决方法
- Bad version number in .class file的解决方法
- MyEclipse中启动tomcat报错:"bad version number in .class file"的解决方法
- tomcat bad version number in class file 的解决方法
- MyEclipse中启动tomcat报错:"bad version number in .class file "的解决方法
- 启动Tomcat出现“Bad version number in .class file (unable to load class XXX)”解决
- struts2 java.lang.UnsupportedClassVersionError: Bad version number in .class file 解决
- java.lang.UnsupportedClassVersionError: Bad version number in .class file 问题解决办法.
- java.lang.UnsupportedClassVersionError: Bad version number in XX.class file解决办法
- java.lang.UnsupportedClassVersionError: Bad version number in .class file解决办法