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

2023-11-07

目录

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基础要有一定的深度了解。再运用现有的知识逐步推理,顺藤摸瓜,找到问题关键所在。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 我的世界1.12 Java崩溃,救救孩子!1.12.2游戏崩溃

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Minecraft Crash Report WARNING coremods are present Contact their authors BEFORE contacting forge
  • C语言经典100例题(26)--利用递归方法求5!(通俗易懂)

    目录 题目 问题分析 代码 运行结果 题目 利用递归方法求5 问题分析 函数的递归调用最基本的思想就是 大事化小 5 5 4 5 5 4 3 5 5 4 3 2 5 5 4 3 2 1 每层分离出来最大的那个数 定义一个求阶乘的函数 fac
  • 2023前端面试题及答案整理(浏览器)

    浏览器 cookie 与 本地存储 相关 cookie session localStorage 分别是什么 cookie 是存储在浏览器上的一小段数据 用来记录某些当页面关闭或者刷新后仍然需要记录的信息 用户在输入用户名密码提交给服务端
  • 企业微信网页应用开发 - 消息/事件回调接口

    问题描述 在事件格式 企业微信API中 有这么一句描述 当用户在客户端或管理端进行某种操作后 会回调相应的事件给开发者 通过API进行的操作不会产生回调 高亮那句是我想要的效果 只有用户在微信原生页面上的变更操作才需要及时通知 自己应用上
  • 决策树、随机森林结果可视化

    决策树 随机森林结果可视化 决策树随机森林结果可视化 一 决策树可视化环境搭建 二 决策树可视化的三种方法 第一种 第二种 第三种 三 决策树可视化实例 四 随机森林可视化实例 五 决策树各特征权重可视化 本文测试环境为 python3 一
  • css button阴影效果,css怎么给button设置阴影

    css给button设置阴影的方法 首先创建一个HTML示例文件 然后设置一个button按钮 最后通过给button添加 box shadow 等属性来实现阴影效果即可 本文操作环境 Windows7系统 HTML5 CSS3版 DELL
  • Scene窗口—视图控制栏

    Scene 视图控制栏 在 Scene 视图控制栏中可以选择用于查看场景的各种选项 还可以控制是否启用光照和音频 这些控件仅在开发期间影响 Scene 视图 对构建的游戏没有影响 绘制模式 Draw mode 菜单 绘制模式是 选择描绘场景
  • js弹框带传值父窗口给子框_layui 父页面获取弹窗传递的值 和 父页面传值给子弹窗的方法...

    1 父页面获取子页面 弹窗 的值 现在父页面页面加载方法中定义方法 专门用来获取从子页面的值 document ready function 拿到子窗口中传回的数据 function getChildrenData data console
  • 有奖调研

    桔妹导读 参与滴滴开源问卷调研 前100名有效填写问卷的用户可获得10元滴滴快车出行卡 第99位有效参与问卷的用户可额外获得100元滴滴快车出行卡一张 滴滴开源诚挚邀请您扫码参与开源问卷调研 给我们提出宝贵建议 长按二维码识别 填写问卷 关
  • DOS命令之copy:复制

    DOS 命令 copy 用于将一个文件从一个位置复制到另一个位置 以下是五个示例 说明了如何使用 copy 命令 1 复制文件到另一个目录假设我们有一个名为 test txt 的文件 它位于 C Users username Documen
  • 安全线程的集合

    1 CopyOnWriteArrayList package com kuang unsafe import java util import java util concurrent CopyOnWriteArrayList java u
  • Windows11安装kohya_ss详细步骤(报错、踩坑)

    文章目录 笔者环境 所需环境 安装kohya ss 方式一 带有GUI的kohya ss仓库 方式二 kohya ss核心仓库 题外话 笔者环境 OS windows11 Python 3 10 6 CUDA11 6 所需环境 Python
  • JavaEE初阶(5)多线程案例(定时器、标准库中的定时器、实现定时器、线程池、标准库中的线程池、实现线程池)

    接上次博客 JavaEE初阶 4 线程的状态 线程安全 synchronized volatile wait 和 notify 多线程的代码案例 单例模式 饿汉懒汉 阻塞队列 di Dora的博客 CSDN博客 目录 多线程案例 定时器 标
  • 云计算复习资料

    文章目录 第一章 云计算 一 云计算的概念与特征 1 云计算的概念 2 云计算的特征 3 云计算发展历程 二 云计算的服务类型 1 laaS 1 IaaS的核心技术 2 IaaS的服务优势 2 PaaS 1 PaaS的核心技术 2 PasS
  • SMOTE过采样技术原理与实现

    1 这种操作的原理是什么 目的是什么 目的是合成分类问题中的少数类样本 使数据达到平衡 其中 样本数量过少的类别称为 少数类 原理和思想 合成的策略是对每个少数类样本a 从它的最近邻中随机选一个样本b 然后在a b之间的连线上随机选一点作为
  • 正交矩阵的保范性:正交变换不改变向量的长度(范数)

    在推导使用SVD分解解方程时 用到了正交矩阵的保范性这一性质 1 正交矩阵定义 A mathbf A intercal A A A A
  • QT编程----事件(一)

    review ui 生成 h cpp文件 uic form1 ui o form1 h uic form1 ui i form1 h o form1 cpp C 三个特点 继承 重载 封装 QT程序设计进阶 事件 Qt事件 Qt程序是事件驱
  • JavaScript 根据指定年月获取该月的第一天和最后一天、获取上个月的年月、上个月月底日期

    文章目录 根据指定年月获取该月的第一天和最后一天 获取上个月的年月 上个月月底日期 根据指定年月获取该月的第一天和最后一天 let date new Date let new year date getFullYear 取当前的年份 let
  • Spring内置定时器的使用

    1 Spring内置定时器的使用 在configuration配置类中 引入 EnableSchedule 开启定时器 编写定时器类 在定时方法中添加 Schedule注解 并且使用fixedDelay fixedRate cron表达式用
  • 关于Unsupported major.minor version 52.0报错问题解决方案

    目录 1 问题描述 2 问题分析 3 解决方案 步骤一 删除JDK1 7版本 步骤二 导入JDK1 8版本 步骤三 将新的JDK1 8引入到工程中 4 总结 1 问题描述 在启动项目工程中 当编译class文件的时候会报错一个 java l