出现java.lang.UnsupportedClassVersionError 错误的原因,是因为我们使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行,所报的错误。
因为,高版本的 JDK生成的class文件使用的格式,可能与低版本的JDK的.class文件格式不同。这样,低版本的JVM无法解释执行这个.class文件,会抛出java.lang.UnsupportedClassVersionError不支持的Class版本错误。
这个错误尤其在 JDK5与JDK5之前的版本上表现明显。因为,JDK5在Java语法上作了不少增强,引入了一些新的.class文件的元素,导致旧版本的JVM无法解释、执行.class文件。即使这个类并没有使用任何JDK5的新元素,但是JDK5生成的.class文件,JDK1.4及其以前的JVM都无法辨认!
所以,目前使用最广的,还是JDK1.4。很多软件和项目都无法使用JDK5。
来源:(http://blog.sina.com.cn/s/blog_4aa09d230100bu2u.html) - 关于出现java.lang.UnsupportedClassVersionError_大雪无痕_新浪博客
它通过修改JDK5生成的.class文件,将其变为JVM1.4及之前版本能够运行的.class文件。
目前,使用新版本的IDE编辑器可能会造成你遭遇java.lang.UnsupportedClassVersionError 错误。
比如,Eclipse3.2+MyEclipse5.0这个新版的IDE工具。进入首选项---Java---编译器,可以看到,默认的编译器依从等级是5.0,这里改为1.4,因为我们使用的软件需要运行在JDK1.4的JVM上。
同一配置区下的已安装JRE中,不要安装JRE,而是安装JDK,指定1.4或1.5的JDK。还是使用jdk1.4。
在MyEclipse----应用服务器下,指定Tomcat5。指定Tomcat使用jdk1.4。
这样,就全部指定使用Jdk1.4来编译和运行程序了。如果全部指定jdk5也是可以的。但是,绝对不能够使用jdk5编译程序,而又在jdk1.4上运行程序,那样将会抛出java.lang.UnsupportedClassVersionError不支持的Class版本错误。
这种情况下,不论是Eclipse生成的war包,还是ant文件生成war包,都使用jdk5编译,就会在运行时出现错误,该应用程序将无法启动。如果你查看 Tomcat的日志文件,将会看到正是java.lang.UnsupportedClassVersionError错误发生了!
来源:(http://blog.sina.com.cn/s/blog_4aa09d230100bu2u.html) - 关于出现java.lang.UnsupportedClassVersionError_大雪无痕_新浪博客
分享到:
相关推荐
二、如果运行时有以上提示,则选择"Project"菜单中的"Project Properties",在弹出的窗口中左侧选择“ Build-->Java”,在右边的选项中有四个下拉框,就可以看到编译选项了,其中Compiler和Debug Option可以不用...
项目部署实施中的问题:java.lang.UnsupportedClassVersionError问题解决方法
在MyEclipse中运行一个小应用程序或者在编辑一些程序时,出现java.lang.UnsupportedClassVersionError Bad version number in .class file异常,的解决办法!
java.lang.UnsupportedClassVersionError 不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。 java.lang.VerifyError 验证错误。当...
38.java.lang.UnsupportedClassVersionError 不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。 39.java.lang.VerifyError 验证错误...
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说,新手应该很需要吧,所以发来新手可以看看啊,会有用的
Java编译错误_UnsupportedClassVersionError.txt Java编译错误_UnsupportedClassVersionError.txt
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...
mysql-connection-java-5.1.28.jar下载j ava.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver :-附件资源
apktool1.4.1.tar.bz2 和 apktool-install-windows-r04-brut1.tar.bz2(两个包都下载)反编译apk生成程序的源代码和图片、XML配置、语言资源等文件
jeecms3.0.4版本,自己总结的使用文档。
PowerDesigner v15.1汉化破解版,可直接覆盖安装目录汉化破解
dextojar与baksmali
JBoss5 + Java6 + SpringBoot 尝试在 Java6 + JBoss5 上部署 Spring Boot 战争的尝试和错误的残骸。... at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 由于出现如下错误,暂时添加spring-boot-
一 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 ...,...
开始那个版本是1.7,有些同学遇到“java.lang.UnsupportedClassVersionError: Bad version ”问题,如果是jdk 1.6,请用此版本,或者自己编译一个,因为已发布源码
当我们引入的jar包和本地的jdk版本有冲突的情况下,会报一下错误:java.lang.UnsupportedClassVersionError:com/sun/tools/javac/Main : Unsupported major.minor version 51.0,所以我们需要强制给jar依赖的jdk版本...
1 java.lang.UnsupportedClassVersionError 从字面上我们可以看出来是类版本不支持错误,换句话是jdk版本不兼容,原因是因为我们在高版本上编译class,在低版本的jvm中运行,这是我搜到的答案。理解起来还好。...