【已解决】Spring常见错误:类文件具有错误的版本 61.0, 应为 52.0

目录

  • 问题复现
  • 原因分析
  • 错误依赖
  • 正确依赖

问题复现

        报错内容如下:

java: 无法访问org.springframework.web.bind.annotation.RequestMapping
  错误的类文件: /D:/Java/Apache Software Foundation/apache-maven-3.6.3/maven/repository/org/springframework/spring-web/6.0.11/spring-web-6.0.11.jar!/org/springframework/web/bind/annotation/RequestMapping.class
    类文件具有错误的版本 61.0, 应为 52.0
    请删除该文件或确保该文件位于正确的类路径子目录中。

原因分析

        报错信息中的61.0和52.0其实是jdk对应的major version信息,他们分别对应jdk17和jdk8。其他JDK分别对应的major version如下表所示。

JDK版本major.minor version
Java SE 1.145
Java SE 1.246
Java SE 1.347
Java SE 1.448
Java SE 549
Java SE 650
Java SE 751
Java SE 852
Java SE 953
Java SE 1054
Java SE 1155
Java SE 1256
Java SE 1357
Java SE 1458
Java SE 1559
Java SE 1660
Java SE 1761
Java SE 1862
Java SE 1963
Java SE 2064
Java SE 2165

        记忆规律: 我们常用的JDK1.8对应major.minor version的是52,每升级(降级)1个版本其major.minor version加1(减1)

错误依赖

1、当前的项目安装适应的JDK版本,IDEA中项目中配置好新的JDK;
2、第二种方式更为简单,直接去Maven远程仓库中复制一下低版本的Spring Web MVC依赖即可(我是更倾向于第二种方案)
我本地的JDK版本是1.8,也就是8,报错的依赖是:

<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>6.0.4</version>
</dependency>

有可能是:

<dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>6.0.11</version>
</dependency>

正确依赖

<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.0.RELEASE</version>
</dependency>

或者是

<dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.2.0.RELEASE</version>
</dependency>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/622746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ISO11898-闭环高速CAN网络 (125K~1Mbps)

ISO11898 标准的物理框图如下图 可理解为一个高速闭环 CAN 总线网络&#xff1b;CAN 闭环总线网络允许总线最大长度为 40m;最高速度为 1Mbps;可以看到总线的两端各有一个 120Ω 的电阻&#xff0c;此电阻作为阻抗匹配功能&#xff0c;以减少回波反射;节点就是不同的设备&#…

Pytorch基础知识点复习

文章目录 并行计算单卡训练多卡训练单机多卡DP多机多卡DDPDP 与 DDP 的优缺点 PyTorch的主要组成模块Pytorch的主要组成模块包括那些呢&#xff1f;Dataset和DataLoader的作用是什么&#xff0c;我们如何构建自己的Dataset和DataLoader&#xff1f;神经网络的一般构造方法&…

k8s的策略

集群调度&#xff1a; Scheduler的调度算法&#xff1a; 预算策略 过滤出合适的节点 优先策略 选择部署的节点 NodeName&#xff1a;硬策略&#xff0c;不走调度策略&#xff0c;node1 nodeSelector&#xff1a;根据节点的标签选择&#xff0c;会走一个调度算法 只要是…

Git基础操作

Git 是一种分布式版本控制系统&#xff0c;用于管理软件项目的源代码。它是由 Linux 之父 Linus Torvalds 开发的&#xff0c;并已经成为了现代软件开发领域中最流行的版本控制系统之一。 使用 Git 可以追踪代码的历史修改记录&#xff0c;方便团队协作、代码共享和代码重构。…

系统性学习vue-vue核心

做了三年前端,但很多系统性的知识没有学习 还是从头系统学习一遍吧 课程是b站的Vue2.0Vue3.0课程 后续还会学习的如下,就重新开一篇了,不然太长,之后放链接 vue组件化编程 vue-cli 脚手架 vue中的ajax vue-router vuex element-ui vue3 老师推荐的vscode针对vue的插件: Vue 3…

机器学习~从入门到精通(二)线性回归算法和多元线性回归

为什么要做数据归一化 一、数据归一化&#xff1a; 1.最值归一化 2.均值方差归一化import numpy as npX np.random.randint(1,100,size100) X X.reshape(-1,2) X.shape X np.array(X,dtypefloat) X[:,0] (X[:,0]-np.min(X[:,0]))/(np.max(X[:,0])-np.min(X[:,0])) X[:,1]…

洛谷最经典题目之--垂直柱状图

一起来交流编程吧【CSDN app】&#xff1a; http://qm.qq.com/cgi-bin/qm/qr?_wv1027&kx9pL9ccIHGKNLE0CWviAqQ_q6HzxomLW&authKeyVslKe623ptw8VRepda%2Bh0Ttr8Ruz8v%2FBW5HpVzyTWU7ECwpHIZpULMj6qIHYZBVb&noverify0&gro 垂直柱状图 题目描述 写一个程序从…

Postgres 中文周报:Postgres Weekly 537 期

本周报由 Cloudberry Database 社区编译自英文版《Postgres Weekly》&#xff0c;译文较原文有所调整。 推荐博文 &#x1f3c6; PostgreSQL: The DBMS of the Year 2023 PostgreSQL 荣获 DB-Engines 网站 2023 年度 DBMS 冠军。DB-Engines 收集了 480 款数据库系统信息并跟踪…

机器学习笔记 - 基于OpenCV+稀疏光流的无监督运动检测

一、简述 在各种高级开源库的帮助下&#xff0c;检测固定摄像机拍摄的运动行为是轻而易举可以实现的&#xff0c;但检测移动的摄像机拍摄的移动物体的运动检测依然是一个复杂的问题。在这里&#xff0c;我们将继续基于稀疏光流&#xff0c;并检测移动的无人机相机的运动。 这里…

项目篇 | 图书管理系统 | 账号模块 | 登录

项目篇 | 图书管理系统 | 账号模块 | 登录 概述 该系统实现了管理员登录和用户登录,二者的实现和逻辑几乎完全一致,这里以用户登录为例进行讲解。 函数简介 // account.h void userLoginPage(); // 用户登录页 void userLogin(); // 用户登录userLoginPage:功能页,用户登…

设计模式-传输对象模式

设计模式专栏 模式介绍模式特点应用场景传输对象模式和序列化的区别代码示例Java实现传输对象模式Python实现传输对象模式 传输对象模式在spring中的应用 模式介绍 传输对象模式&#xff08;Transfer Object Pattern&#xff09;是一种设计模式&#xff0c;用于从客户端向服务…

Pandas实战100例 | 案例 11: 添加新列 - 使用 `assign` 方法

案例 11: 添加新列 - 使用 assign 方法 知识点讲解 在 Pandas 中&#xff0c;assign 方法是添加新列到 DataFrame 的一种高效方式。这个方法可以使你在不改变原始 DataFrame 的基础上&#xff0c;添加一列或多列。assign 方法特别适用于链式调用&#xff0c;使得数据处理步骤…

X射线探测器检测锻件缺陷,如何将缺陷显现在图像中的呢?

问题描述&#xff1a;X射线探测器检测锻件缺陷&#xff0c;如何将缺陷显现在图像中的呢&#xff1f; 问题解答&#xff1a; X射线探测器检测锻件缺陷的原理主要是利用X射线的穿透性和成像技术。当X射线穿透锻件时&#xff0c;由于不同材料对X射线的吸收程度不同&#xff0c;因…

MT8766安卓核心板/开发板_MTK联发科4G安卓手机主板方案定制开发

MT8766采用台积电 12 nm FinFET 制程工艺&#xff0c;4*A53架构&#xff0c;Android 9.0操作系统&#xff0c;搭载2.0GHz 的 Arm NEON 引擎。提供了支持最新 OpenOS 及其要求苛刻的应用程序所需的处理能力&#xff0c;专为具有全球蜂窝连接的高移动性和功能强大的平板设备而设计…

MySQL进阶篇(五) 锁

一、概述 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中&#xff0c;除传统的计算资源&#xff08;CPU、RAM、I/O&#xff09;的争用以外&#xff0c;数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问…

深入浅出Android dmabuf_dump工具

目录 dmabuf是什么&#xff1f; dmabuf_dump工具介绍(基于Android 14) Android.bp dmabuf_dump.cpp 整体架构结构如下 dmabuf_dump主要包含以下功能 前置背景知识 fdinfo 思考 bufinfo Dump整个手机系统的dmabuf Dump某个进程的dmabuf​​​​​​​ 以Table[buff…

【JVM 基础】类字节码详解

JVM 基础 - 类字节码详解 多语言编译为字节码在JVM运行Java字节码文件Class文件的结构属性从一个例子开始反编译字节码文件字节码文件信息常量池方法表集合类名 再看两个示例分析try-catch-finallykotlin 函数扩展的实现 源代码通过编译器编译为字节码&#xff0c;再通过类加载…

C、C++、QT 中的字符串格式和处理方法

1. C的C风格字符串采用的是什么编码格式&#xff1f; C 的 C 风格字符串并没有指定特定的编码格式。它只是一个以 null 字符&#xff08;’\0’&#xff09;作为结尾的字符数组&#xff0c;可以存储 ASCII 字符或多字节字符序列。编码格式是由使用字符串的上下文和编译器的设置…

核心笔记-长篇

一、验证授权 Spring Security 1、登录实现思路 SecurityConfig 配置类:securityFilterChain(httpSecurity) 中配置拦截和放行的地址并添加授权管理器,并注入 AuthenticationManager(认证管理对象) 和 BCryptPasswordEncoder(随机盐值加密方法对象)控制层:接受前端发送的账…

文件指针 FILE结构体

C语言中的文件指针是指向FILE类型结构体的指针。(也就是说 文件指针的类型就是FILE类型) 在C语言中&#xff0c;使用文件指针来操作文件。FILE类型是一个结构体类型&#xff0c;它包含了与文件相关的信息&#xff0c;例如文件位置指示器、文件读写状态等。通过文件指针&#x…