关于Unsupported major.minor version 52.0报错问题解决方案
目录
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报错问题解决方案的更多相关文章
- Unsupported major.minor version 52.0报错问题解决方案
感谢原文:https://blog.csdn.net/wangmaohong0717/article/details/82869359 1.问题描述 工程启动的时候,报错如下: nested exce ...
- Unsupported major.minor version 52.0报错解决方案
参考了https://blog.csdn.net/zixiao217/article/details/52818658 但我换了JDK版本为1.8后,启动还是报错,经过排查发现,是tomcat配置出问 ...
- java.lang.UnsupportedClassVersionError(Unsupported major.minor version 49.0)报错
报错截图如下:
- 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如下: 验证成功!
- 解决Unsupported major.minor version 51.0报错问题
问题产生原因:计算机环境变量的jdk版本与eclipse使用的jdk版本不一致 解决方法: 1.查看计算机环境变量的jdk版本 2.查看eclipse项目java compiler的方法:在项目点右键 ...
- Java报错--Unsupported major.minor version 52.0
遇到一个Java相关的报错: ... java.lang.UnsupportedClassVersionError: ... : Unsupported major.minor version 52. ...
- 从高版本JDK换成低版本JDK报错Unsupported major.minor version 52.0
ava.lang.UnsupportedClassVersionError: PR/Sort : Unsupported major.minor version 52.0这个错误是由于高版本的java ...
- JDK1.8环境下依然报错 Unsupported major.minor version 52.0
JDK1.8环境下依然报错 Unsupported major.minor version 52.0 在配置elasticsearch-rtf全文搜索引擎时,按照Github上项目readme.md来 ...
- 【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 ...
随机推荐
- shell编程连接postgres数据库(数据备份)
第一步:通过xshell或者其他工具连接到linux服务, 第二步:创建一个脚本:touch se.sh 第三步:输入i,代表开始输入内容 输入以下命令: 脚本如下:(sql语句可以是任何复杂的sql ...
- TCP定时器 之 FIN_WAIT_2定时器
当TCP主动关闭一端调用了close()来执行连接的完全关闭时会执行以下流程,本端发送FIN给对端,对端回复ACK,本端进入FIN_WAIT_2状态,此时只有对端发送了FIN,本端才会进入TIME_W ...
- 六、smarty-缓存控制前的页面静态化原理
页面静态化可以实现优化服务,对大流量访问网站非常至关重要 为什么页面静态化, 1. 不去执行数据库连接 2. 不去执行SQL语句 设置按时间更新, 1. 按时间更新,如果缓存文件设置1小时 如下 ...
- openssl生成秘钥对
openssl genrsa -out pri.pem openssl rsa -in pri.pem -out pub.pem -pubout 这样就生成秘钥对了,其中pri.pem是私钥,pub. ...
- oracle存储过程错误跟踪
1.首先创建用于保存错误信息的表 1 2 3 4 5 6 7 8 CREATE TABLE TBL_PROC_ERRMSG ( BIZ_CODE VARCHAR2(50), ERR_LINE ...
- awk命令2
提取文件后四行 注释:NR==FNR表示第一个文件,执行{a++},计算出第一个文件10的行数,NR!=FNR表示第二个文件10,执行{if(FNR<=a-4){print $0}},打印出第二 ...
- Android Studio在Make Project时下载Grandle特别慢
SDK下载完成了,建个工程, 又蒙了: Server returned HTTP response code: 502 for URL: https://services.gradle.org/dis ...
- Unity中的动画系统和Timeline(3) 混合树和动画匹配
混合树 前面我们通过在Animation界面添加单独的动作来控制动画,这样做比较麻烦,每个单独的属性,比如站立,奔跑等,都需要单独的代码来控制.现在我们可以通过使用混合树,其基本思想是将相近的动画混合 ...
- linux 设备树中 dwc3 节点的phys参数含义
找了好久今天找到了,记录一下: &dwc3_0 { ... phys = <&lane3 PHY_TYPE_USB3 1 2 26000000>; ... } Requir ...
- C语言作业Ⅰ12
一.我学到的内容 二.我的收获 时间 作业链接 我的收获 第一周 https://www.cnblogs.com/deng9/p/11576196.html#4369234 让我对这个专业有了新的认识 ...