【java.lang.UnsupportedClassVersionError】版本不一致出错

  这种错误的全部报错信息:

 1 java.lang.UnsupportedClassVersionError: org/apache/lucene/store/Directory : Unsupported major.minor version 51.0
 2  at java.lang.ClassLoader.defineClass1(Native Method)
 3  at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
 4  at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
 5  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
 6  at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
 7  at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
 8  at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
 9  at java.security.AccessController.doPrivileged(Native Method)
10  at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
11  at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
12  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
13  at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
14 Exception in thread "main" 

  看报错信息,是因为使用的jar包版本不对。这个51.0是什么呢?

  JDK不同的版本,编译出的class文件是不同的。通过查看分析class文件前几个字节,可以找到对应的关系,详细的参考官方,细微的版本之间可能有差异:

1 J2SE 7 = 51 (0x33 hex),
2 J2SE 6.0 = 50 (0x32 hex),
3 J2SE 5.0 = 49 (0x31 hex),
4 JDK 1.4 = 48 (0x30 hex),
5 JDK 1.3 = 47 (0x2F hex),
6 JDK 1.2 = 46 (0x2E hex),
7 JDK 1.1 = 45 (0x2D hex).

  观察一下报错截图:

  原来我的Eclipse的JDK是1.6的,但是jar包明确要求需要1.7的,当然会出错了!

  那么,如何改正呢?下载1.7版本的JDK就不说了。

  右键点击项目工程,Properties

  点击JRE library

  修改JDK版本

  最后编译成功!

本文转自博客园xingoo的博客,原文链接:【java.lang.UnsupportedClassVersionError】版本不一致出错,如需转载请自行联系原博主。

时间: 2024-07-28 21:17:48

【java.lang.UnsupportedClassVersionError】版本不一致出错的相关文章

Linux(centOS):Exception in thread "main" java.lang.UnsupportedClassVersionError***

问题1: Exception in thread "main" java.lang.UnsupportedClassVersionError: HWByCentOS : Unsupported major.minor version 52.0 现象:在安装完jdk后,执行javabean.class文件时候出现错误            javac HWByCentOS.java            java HWByCentOS   (***)            使用javac

httpclient运行报错java.lang.UnsupportedClassVersionError: Bad version number in .cla

问题描述 java.lang.UnsupportedClassVersionError:Badversionnumberin.classfileatjava.lang.ClassLoader.defineClass1(NativeMethod)atjava.lang.ClassLoader.defineClass(ClassLoader.java:620)atjava.security.SecureClassLoader.defineClass(SecureClassLoader.java:12

环境- java.lang.UnsupportedClassVersionError

问题描述 java.lang.UnsupportedClassVersionError 04-Feb-2015 12:16:45.308 INFO [localhost-startStop-1] org.apache.catalina.core.ApplicationContext.log ContextListener: contextInitialized() 04-Feb-2015 12:16:45.308 INFO [localhost-startStop-1] org.apache.c

java.lang.UnsupportedClassVersionError: Bad versio

问题描述 就是在main函数中在引用jxl.jar包 测试读取EXCEL内容时报错(jdk是1.5,jxl.jar版本是_2_6_9),具体错误信息:java.lang.UnsupportedClassVersionError: Bad version number in .class fileat java.lang.ClassLoader.defineClass1(Native Method)at java.lang.ClassLoader.defineClass(ClassLoader.j

用java2word报错:java.lang.Exception: 初始化类库出错,请检查是否注册了组件 Word.Application

问题描述 小弟要做一个java操作word的应用,在网上找了很多之后决定使用java2word.可是程序报如下错误:java.lang.Exception:初始化类库出错,请检查是否注册了组件Word.Application.注册命令为'regsvr32文件名'.望高手指点一二.小弟感激不尽. 解决方案 解决方案二:java软件安装的不正确啊,重新装个试试!!解决方案三:那个JAVA软件啊?你指的是java2word还是myeclipse还是jdk?解决方案四:怎么没人答啊?这帖子不能沉啊!!!

Caused by: java.lang.UnsupportedClassVersionError:

       今天在导入一个工程时,编译并部署到weblogic后,发现出现java.lang.UnsupportedClassVersionError: Bad version number in .class file异常,检查了一下我的myEclipse6.0,发现其默认的编译器为JDK6.0,那个工程是公司服务器机上拷贝过来的,用的编译器是 JDK5.0,试了一下,果然是这个问题引起.       具体解决办法:在myEclipse中改变编译器的方法:Project->Propertie

jdk-Exception in thread "main" java.lang.

问题描述 Exception in thread "main" java.lang. 从svn上down下来的源码,在搭建本机环境的时候报错 Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apdplat/word/analysis/TextSimilarity : Unsupported major.minor version 52.0 2 at java.lang.Cl

调用注册时出错【版本easemobchat_2.2.6.jar,报java.lang.String com.easemob.chat.core.j$c.c】

问题描述 报错:Attempt to read from field 'java.lang.String com.easemob.chat.core.j$c.c' on a null object reference 源码: 解决方案 注册中的toast操作在ui线程中执行

低版本mvel在MaxCompute jdk8环境中报java.lang.VerifyError

最近MaxCompute在升级jdk8的环境,导致线上使用到MVEL的离线任务挂掉,主要是下面这个异常 Exception in thread "main" java.lang.VerifyError: (class: ASMAccessorImpl_4458843621386333353870, method: getKnownEgressType signature: ()Ljava/lang/Class;) Illegal type in constant pool 经过一系列查