【英杰送书第三期】Spring 解决依赖版本不一致报错 | 文末送书

Yan-英杰的主
悟已往之不谏 知来者之可追
C++程序员,2024届电子信息研究生
目录
问题描述
报错信息如下
报错描述
解决方法
总结
【粉丝福利】
【文末送书】
目录:
本书特色:
问题描述
报错信息如下
Description:An attempt was made to call a method that does not exist. The attempt was made from the following location:io.undertow.websockets.jsr.Bootstrap.handleDeployment(Bootstrap.java:84)
The following method did not exist:
javax.servlet.ServletContext.getClassLoader()Ljava/lang/ClassLoader;
The method's class, javax.servlet.ServletContext, is available from the following locations:
jar:file:/E:/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar!/javax/servlet/ServletContext.class
jar:file:/E:/.m2/repository/jakarta/servlet/jakarta.servlet-api/4.0.4/jakarta.servlet-api-4.0.4.jar!/javax/servlet/ServletContext.class
The class hierarchy was loaded from the following locations:
javax.servlet.ServletContext: file:/E:/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jarAction:
Correct the classpath of your application so that it contains a single, compatible version of javax.servlet.ServletContext
报错描述
试图从以下位置去调用一个不存在的方法:
io.undertow.websockets.jsr.Bootstrap.handleDeployment(Bootstrap.java:84);javax.servlet.ServletContext.getClassLoader()Ljava/lang/ClassLoader;
该方法不存在;
该方法的类javax.servlet.ServletContext可从以下位置获得:
jar:file:/E:/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar!/javax/servlet/ServletContext.class
jar:file:/E:/.m2/repository/jakarta/servlet/jakarta.servlet-api/4.0.4/jakarta.servlet-api-4.0.4.jar!/javax/servlet/ServletContext.class
类层次结构是从以下位置加载的:
javax.servlet.ServletContext: file:/E:/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar
更正应用程序的类路径,使其包含一个单独的兼容版本的javax.servlet.ServletContext。
上边的解释说人话就是servlet-api和jakarta.servlet-api下的 ServletContext.class 冲突了,需要修改一下版本依赖。
解决方法
首先打开IDEA的 setting 设置

然后选择 Plugins 插件,下载Maven Helper插件,如果安装之后不生效,可以重启一下 IDEA

最后打开 pom.xml 文件,选择 Dependency Analyzer 切换页,选择 All Dependencies as Tree 选项,然后搜索 javax,然后右键选择 Exclude 排除重复依赖就可以了。

点完之后会发现 pom.xml 文件中会出现如下代码
<dependency>
<groupId>com.xxx.kas.swagger</groupId>
<artifactId>swagger-spring-mvc-core</artifactId>
<version>1.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<artifactId>servlet-api</artifactId>
<groupId>javax.servlet</groupId>
</exclusion>
</exclusions>
</dependency>
如果排除之后依然报错,可以选择上图的Jump To Source跳转到对应的仓库内将对应版本删除即可。
刷新下依赖,发现正常启动了,搞定。
总结
以后再遇到这种包依赖冲突的问题都可以使用Maven Helper这个插件来轻松解决,妈妈再也不用担心我的学习了。
【粉丝福利】
Spring Boot3.0王炸版本带来了很多新特性,值得我们深入学习,推荐给大家哔站上讲解细致且全面的springboot3教程,全方面详解了SpringBoot核心知识点,采用了知识点配合项目案例的方式,可以让大家很轻松的掌握SpringBoot,配套资料也非常全面,领取方式可看视频简介区~
SpringBoot3入门到实战,该视频博主是博主大学时候,一直跟的,质量完全有保障
【文末送书】
抽取5位粉丝赠送视频配套SpringBoot3实体书籍~

目录:
章节介绍
第一章:JDK关注的新特性
第二章:掌握SpringBoot基础篇
第三章:自动配置
第四章:访问数据库
第五章:说说web服务
第六章:远程访问HttpExchange
第七章:视图技术
第八章:项目实战
第九章:AOT与GraalVM
本书特色:
本书将带你学习掌握Java领域中盛名已久的SpringBoot框架,掌握最新SpringBoot3新特性:@HttpExchange声明式客户端,RFC7807、ProblemDetail,预编译AOT。并基于JDK17的新特性Java Record,Text Block , 密闭类等一网打尽。本书结合新特性,以实际项目需求入手,详解SpringBoot核心知识点, 突出Web应用痛点解决方案。先知识点后项目案例,让各位学习者快速轻松掌握SpringBoot。
相关文章:
【英杰送书第三期】Spring 解决依赖版本不一致报错 | 文末送书
Yan-英杰的主 悟已往之不谏 知来者之可追 C程序员,2024届电子信息研究生 目录 问题描述 报错信息如下 报错描述 解决方法 总结 【粉丝福利】 【文末送书】 目录: 本书特色: 问题描述 报错信息如下 Description:An attempt…...
ClickHouse修改和删除操作
文章目录 ClickHouse介绍为什么不推荐更新和删除如何实现更新操作如何实现删除操作官方文档 ClickHouse介绍 ClickHouse是由俄罗斯的Yandex公司开发的一款快速、可扩展的列式数据库管理系统。它专门针对OLAP场景设计,在海量数据分析和查询方面具有出色的性能表现&a…...
比selenium体验更好的ui自动化测试工具: cypress介绍
话说 Cypress is a next generation front end testing tool built for the modern web. And Cypress can test anything that runs in a browser.Cypress consists of a free, open source, locally installed Test Runner and a Dashboard Service for recording your tests.…...
Python编译过程和执行原理
hello,这里是Token_w的文章,主要讲解python的基础学习,希望对大家有所帮助 整理不易,感觉还不错的可以点赞收藏评论支持,感谢! 目录 一. Python执行原理二. Python内部执行过程2.1 编译过程概述2.2 过程图解…...
opencv 图像距离变换 distanceTransform
图像距离变换:计算图像中每一个非零点距离离自己最近的零点的距离,然后通过二值化0与非0绘制图像。 #include "iostream" #include "opencv2/opencv.hpp" using namespace std; using namespace cv;int main() {Mat img, dst, dst…...
消息队列——rabbitmq的不同工作模式
目录 Work queues 工作队列模式 Pub/Sub 订阅模式 Routing路由模式 Topics通配符模式 工作模式总结 Work queues 工作队列模式 C1和C2属于竞争关系,一个消息只有一个消费者可以取到。 代码部分只需要用两个消费者进程监听同一个队里即可。 两个消费者呈现竞争关…...
QT实现用户登录注册功能
本文实例为大家分享了QT实现用户登录注册的具体代码,供大家参考,具体内容如下 1、login.h ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #ifndef LOGIN_H #define LOGIN_H #include <QWidget> namespace Ui { c…...
Docker--harbor私有仓库部署与管理
目录 一、构建私有库 1.下载 registry 镜像 2.在 daemon.json 文件中添加私有镜像仓库地址 3.运行 registry 容器 4.为镜像打标签 5.上传到私有仓库 6.列出私有仓库的所有镜像 7.列出私有仓库的centos镜像有哪些tag 8.测试私有仓库下载 二、Harbor 简介 1.什么是Harb…...
idea复制一份web服务在不同端口启动
Idea 运行多个微服务 Idea 一个服务开启多个端口运行 idea 开启多个端口服务_idea开启多个服务_HaHa_Sir的博客-CSDN博客 IntelliJ IDEA 中一个服务按多个端口同时启动与显示Services面板_一个服务多个端口_Touch&的博客-CSDN博客 Idea中一个服务按多个端口同时启动_idea…...
CRM系统化整合从N-1做减法实践 | 京东物流技术团队
1 背景 京销易系统已经接入大网、KA以及云仓三个条线商机,每个条线商机规则差异比较大,当前现状是独立实现三套系统分别做支撑。 2 目标 2022年下半年CRM目标是完成9个新条线业务接入,完成销售过程线上化,实现销售规则统一。 …...
STM32CUBUMX配置RS485(中断接收)--保姆级教程
———————————————————————————————————— ⏩ 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的大三学生。 ⏩最近在开发一个STM32H723ZGT6的板子,使用STM32CUBEMX做了很多驱动&#x…...
苹果iOS 16.6 RC发布:或为iPhone X/8系列养老版本
今天苹果向iPhone用户推送了iOS 16.6 RC更新(内部版本号:20G75),这是时隔两个月的首次更新。 按照惯例RC版基本不会有什么问题,会在最近一段时间内直接变成正式版,向所有用户推送。 需要注意的是,鉴于iOS 17正式版即将…...
【100天精通python】Day16:python 模块的搜索目录和导入模块异常时的处理方法
目录 1 搜索模块所在目录 2 模块不在搜索目录中 2.1 添加模块所在的目录到PYTHONPATH环境变量 2.2 修改sys.path 2.3 使用绝对路径导入 2.4将模块复制到Python搜索路径中的任意一个目录 2.5 总结 3 其他导入的模块异常处理 3.1 模块未安装 3.2 模块名称拼写错误 3.3模…...
SOC FPGA介绍及开发设计流程
目录 一、SoC FPGA简介 二、SoC FPGA开发流程 2.1 硬件开发 2.2 软件开发 一、SoC FPGA简介 SOC FPGA是在FPGA架构中集成了基于ARM的硬核处理器系统(HPS),包括处理器、外设和存储器控制器。相较于传统的仅有ARM处理器或 FPGA 的嵌入式芯片,SOC FPGA既…...
MySQL vs. Oracle: 函数比较与联系
引言 MySQL和Oracle是两个广泛使用的关系型数据库管理系统(RDBMS),它们提供了丰富的函数库来处理和操作数据。本文将详细介绍MySQL和Oracle的所有函数,并逐一介绍它们的相同和不同之处,以帮助读者更好地理解和使用这两…...
【Django学习】(十五)API接口文档平台_项目流程分析_日志器_认证_授权
一、API接口文档平台 使用API接口文档不经可以很好的的维护接口数据,还给测试人员的接口测试工作带来了便利; 我们可以在全局配置文件中添加路由路径生成接口文档 1、使用docs接口文档维护接口 1.1在全局配置文件里指定用于支持coreapi的Schema # 指…...
经营简报及考核360表格
文章目录 经营简报效果图代码tableObjectSpanMethod.js 考核360委员会效果图 经营简报效果图不需要合并单元格且有汇总表头的 懒得封装了,所以整体没有封装 经营简报 效果图 代码 <template><el-tableref"tableRef":data"tableData.lengt…...
Spring Security 构建基于 JWT 的登录认证
一言以蔽之,JWT 可以携带非敏感信息,并具有不可篡改性。可以通过验证是否被篡改,以及读取信息内容,完成网络认证的三个问题:“你是谁”、“你有哪些权限”、“是不是冒充的”。 为了安全,使用它需要采用 …...
PyTorch从零开始实现Transformer
文章目录 自注意力Transformer块编码器解码器块解码器整个Transformer参考来源全部代码(可直接运行) 自注意力 计算公式 代码实现 class SelfAttention(nn.Module):def __init__(self, embed_size, heads):super(SelfAttention, self).__init__()self.e…...
运动蓝牙耳机什么牌子的好用、最好用的运动蓝牙耳机推荐
音乐是运动的灵魂,而一款优秀的运动耳机则是让音乐与我们的身体完美融合的关键。今天,我推荐五款备受运动爱好者喜爱的耳机,它们以卓越的音质、舒适的佩戴和出色的稳定性能脱颖而出,助你在运动中创造最佳状态。 1、NANK南卡Runne…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
【生成模型】视频生成论文调研
工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
