目录

1.问题描述
2.问题分析
3.解决方案
步骤一:删除JDK1.7版本
步骤二:导入JDK1.8版本
步骤三:将新的JDK1.8引入到工程中
4.总结
1.问题描述
在启动项目工程中,当编译class文件的时候会报错一个 java.lang.UnsupportedClassVersionError: org/apache/activemq/ActiveMQConnectionFactory : Unsupported major.minor version 52.0错误,如图。

这个问题既不是代码出错,也不是内存问题,更不是系统抽筋,通常导致很多朋友花费大量时间都不能愉快解决,笔者将这个疑问分享到博客为更多朋友解惑。

2.问题分析
首先,理解java.lang.UnsupportedClassVersionError异常,该异常位于java.lang包下,说明是Java编程的基础类异常,UnsupportedClassVersionError顾名思议,Class类版本不支持错误,既然是版本问题,不外乎就是项目编译Class的JDK版本环境与运行的虚拟机JDK版本环境不一致导致(了解虚拟机原理更容易理解这点),现在问题集中于编译环境与运行环境两个版本谁高谁低。没事,我们再往下分析,根据错误信息还透露出Unsupported major.minor version 52.0,其中version 52.0正是对应了JDK1.8的版本。当然,也可以用java -version命令查看安装JDK版本。说明我们编译环境的JDK是1.8版本,再查到我们的工程环境下,发现工程下的JDK版本为JDK1.7(也许是1.6或1.5等,这里以1.7为例)。
类文件对应的版本如下列表:

JDK版本 序号
Java SE 10 54 (0x36 hex)
Java SE 9 53 (0x35 hex)
Java SE 8 52 (0x34 hex)
Java SE 7 51 (0x33 hex)
Java SE 6.0 50 (0x32 hex)
Java SE 5.0 49(0x31 hex)
JDK 1.4 48 (0x30 hex)
JDK 1.3 47 (0x2F hex)
JDK 1.2 46 (0x2E hex)
JDK 1.1 45 (0x2D hex)
3.解决方案
分析了怎么多,解决方式就简单了,最终目的是让两个环境一致即可解决。一种方式重新安装低版本JDK1.7,另一种方式是改变工程环境中为JDK1.8版本。
第一种不说了,一般情况也不会重装JDK,重点说下第二种方式。

步骤一:删除JDK1.7版本
鼠标右键工程,打开Java Build Path目录,选择JDK1.7的版本,点击Remove按钮将旧版本删除,如图:

步骤二:导入JDK1.8版本
找到JDK1.8的安装目录,将jre目录文件导入到Standard VM中,如图:

步骤三:将新的JDK1.8引入到工程中
与平常引用一样,在Add Library选项下选取新的JDK环境,如图:

4.总结
这个问题本身不难,关键在于对Java基础要有一定的深度了解。再运用现有的知识逐步推理,顺藤摸瓜,找到问题关键所在。
---------------------
作者:导哥
来源:CSDN
原文:https://blog.csdn.net/jingtianyiyi/article/details/80455916
版权声明:本文为博主原创文章,转载请附上博文链接!

关于Unsupported major.minor version 52.0报错问题解决方案的更多相关文章

  1. Unsupported major.minor version 52.0报错问题解决方案

    感谢原文:https://blog.csdn.net/wangmaohong0717/article/details/82869359 1.问题描述 工程启动的时候,报错如下: nested exce ...

  2. Unsupported major.minor version 52.0报错解决方案

    参考了https://blog.csdn.net/zixiao217/article/details/52818658 但我换了JDK版本为1.8后,启动还是报错,经过排查发现,是tomcat配置出问 ...

  3. java.lang.UnsupportedClassVersionError(Unsupported major.minor version 49.0)报错

    报错截图如下:

  4. Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0 报错

    此报错经常出现,项目中使用的maven版本为3.2.5版本但是去写自动化脚本又需要去3.5.2版本.经常搞混,需要记录一下: 解决如下: 再次install如下: 验证成功!

  5. 解决Unsupported major.minor version 51.0报错问题

    问题产生原因:计算机环境变量的jdk版本与eclipse使用的jdk版本不一致 解决方法: 1.查看计算机环境变量的jdk版本 2.查看eclipse项目java compiler的方法:在项目点右键 ...

  6. Java报错--Unsupported major.minor version 52.0

    遇到一个Java相关的报错: ... java.lang.UnsupportedClassVersionError: ... : Unsupported major.minor version 52. ...

  7. 从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0

    ava.lang.UnsupportedClassVersionError: PR/Sort : Unsupported major.minor version 52.0这个错误是由于高版本的java ...

  8. JDK1.8环境下依然报错 Unsupported major.minor version 52.0

    JDK1.8环境下依然报错 Unsupported major.minor version 52.0 在配置elasticsearch-rtf全文搜索引擎时,按照Github上项目readme.md来 ...

  9. 【Selenium】【BugList11】启动selenium server报错:Unsupported major.minor version 52.0

    [环境信息] python:3.6.5 平台:win7 selenium:3.11.0 selenium server:selenium-server-standalone-3.11.0.jar jd ...

随机推荐

  1. jpa repostiory

    JpaRepository的查询   image.png   image.png Spring Data JPA框架在进行方法名解析时,会先把方法名多余的前缀截取掉,比如 find.findBy.re ...

  2. visual studio运行时库MT、MTd、MD、MDd

    在开发window程序是经常会遇到编译好好的程序拿到另一台机器上面无法运行的情况,这一般是由于另一台机器上面没有安装响应的运行时库导致的,那么这个与编译选项MT.MTd.MD.MDd有什么关系呢?这是 ...

  3. CentOS 6.5 安装OSA监控精灵监控主机

    OSA监控是一个开源的图形化免费好用的监控,安装之前首先要配置好PHP环境, yum install httpd mysql mysql-server php-mysql php* -y 编辑http ...

  4. web基础知识汇总

    HTML&XML 1.JavaWeb的概述 A: 什么是Web----->就是网页或者网站 B: 什么是JavaWeb----->就是使用java语言做web C: 浏览器访问网站 ...

  5. 根据md5去重文件

    import os import hashlib def get_md5(file): file = open(file,'rb') md5 = hashlib.md5(file.read()) fi ...

  6. react综合案例-todolist、localstorage缓存数据

    1.工具类storage.js var app ={ set(key,value){ localStorage.setItem(key,JSON.stringify(value)); }, get(k ...

  7. LoadRunner 技巧之 脚本设计

    LoadRunner 技巧之 脚本设计 在做性能测试时,我们可能会遇到各种不同的业务需求与用户行为,在一个系统或网站中,每个用户的操作都不完全一样.我们如何来模拟这此用户的行为?经验与能力有限,我这里 ...

  8. finreport 截图时间的函数

  9. mysql的高可用之rounter

    参考: https://segmentfault.com/a/1190000011970688

  10. Linux 根据端口快速停止服务并启动的办法

    0. 需要使用 lsof 的命令, 如果linux 上面没有安装的话 需要自行安装 yum install lsof or apt-get install lsof 1. 先根据端口查进程号 [roo ...