今天新建了一个基于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,好啦,这就完成了。
- 大小: 5.7 KB
- 大小: 4.5 KB
- 大小: 5.4 KB
- 大小: 47.3 KB
- 大小: 3.9 KB
- 大小: 5.2 KB
- 大小: 77.8 KB
- 大小: 10.3 KB
分享到:
相关推荐
二、如果运行时有以上提示,则选择"Project"菜单中的"Project Properties",在弹出的窗口中左侧选择“ Build-->Java”,在右边的选项中有四个下拉框,就可以看到编译选项了,其中Compiler和Debug Option可以不用...
在MyEclipse中运行一个小应用程序或者在编辑一些程序时,出现java.lang.UnsupportedClassVersionError Bad version number in .class file异常,的解决办法!
项目部署实施中的问题:java.lang.UnsupportedClassVersionError问题解决方法
java.lang.UnsupportedClassVersionError: com/util/PostUtil at org.apache.jsp.shouye.index_jsp._jspService(index_jsp.java:84) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) ...
帮助安装jdk说,新手应该很需要吧,所以发来新手可以看看啊,会有用的
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass...
java.lang.UnsupportedClassVersionError 不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。 java.lang.VerifyError 验证错误。当...
mysql-connection-java-5.1.28.jar下载j ava.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver :-附件资源
一 java.lang.UnsupportedClassVersionError: Bad version number in .class file 必须使用jdk 1.6 二 Exception in thread "main" java.lang.RuntimeException: Your license has expired. Please registe ...,...
apktool1.4.1.tar.bz2 和 apktool-install-windows-r04-brut1.tar.bz2(两个包都下载)反编译apk生成程序的源代码和图片、XML配置、语言资源等文件
开始那个版本是1.7,有些同学遇到“java.lang.UnsupportedClassVersionError: Bad version ”问题,如果是jdk 1.6,请用此版本,或者自己编译一个,因为已发布源码
我花了一整天来解决这个问题:( jdk 1.7.0_51 上的 UTC+3 不正确使用 bash 运行 scraper-1.0-SNAPSHOT.jar 时遇到 java.lang.UnsupportedClassVersionError: Bad version number in .class file。 在 Windows 上使用...
dextojar与baksmali
jeecms3.0.4版本,自己总结的使用文档。
PowerDesigner v15.1汉化破解版,可直接覆盖安装目录汉化破解
38.java.lang.UnsupportedClassVersionError 不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。 39.java.lang.VerifyError 验证错误...
java.lang.UnsupportedClassVersionError: org/apache/catalina/authenticator/FormAuthenticator : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang....
当我们引入的jar包和本地的jdk版本有冲突的情况下,会报一下错误:java.lang.UnsupportedClassVersionError:com/sun/tools/javac/Main : Unsupported major.minor version 51.0,所以我们需要强制给jar依赖的jdk版本...
Java编译错误_UnsupportedClassVersionError.txt Java编译错误_UnsupportedClassVersionError.txt