【英杰送书第三期】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
配套资料也非常全面,领取方式可看视频简介区~
该视频博主是博主大学时候,一直跟的,质量完全有保障
点击这里快速学习
SpringBoot3入门到实战【动力节点】SpringBoot3从入门到项目实战-spring boot3通俗易懂高薪必备共计200条视频,包括:001-SpringBoot3课程导读、002-课程介绍、003-开发环境_bilibili等,UP主更多精彩视频,请关注UP账号。http://u3v.cn/69BVDN
【文末送书】
抽取5位粉丝赠送视频配套SpringBoot3实体书籍~
目录:
章节介绍
第一章:JDK关注的新特性
第二章:掌握SpringBoot基础篇
第三章:自动配置
第四章:访问数据库
第五章:说说web服务
第六章:远程访问HttpExchange
第七章:视图技术
第八章:项目实战
第九章:AOT与GraalVM
本书特色:
本书将带你学习掌握Java领域中盛名已久的SpringBoot框架,掌握最新SpringBoot3新特性:@HttpExchange声明式客户端,RFC7807、ProblemDetail,预编译AOT。并基于JDK17的新特性Java Record,Text Block , 密闭类等一网打尽。本书结合新特性,以实际项目需求入手,详解SpringBoot核心知识点, 突出Web应用痛点解决方案。先知识点后项目案例,让各位学习者快速轻松掌握SpringBoot。
【英杰送书第三期】Spring 解决依赖版本不一致报错 | 文末送书相关推荐
- 2018年最新人工智能书单,总有一本你爱的丨文末送书
为什么大家都在学人工智能?因为:"机会是留给有准备的人,但成功是留给已经行动的人."总是被别人的高薪所吸引,却缺乏行动力的你,桌上永远还缺乏一本行动的入门书籍. 小编整理了异步图书 ...
- 解决pandas读取parquet报错ImportError:Unable to find a usable engine;tried using: ‘pyarrow‘, ‘fastparquet‘
完整报错如下: ImportError: Unable to find a usable engine; tried using: 'pyarrow', 'fastparquet'. pyarrow ...
- springboot导入项目依赖报错_如何解决spring boot 项目导入依赖后代码报错问题
如何解决spring boot 项目导入依赖后代码报错问题 2020-08-15 14:17:18 代码截图如图所示(由于本人问题已经解决,没来得及截图,所以在网上找了一张图片) 针对图中所示的 ...
- 媳妇居然在家偷偷背着我偷看我的面试笔记,一个月后拿下大厂offer!(文末送书)...
知乎热议: 到底要掌握哪些技术才能顺利的找一份20K的工作? 根据这些年的工作经验,加上网络搜集,我特意整理了一套针对职场进阶的干货! 有很多朋友靠着这些内容进行复习拿到了BATJ等大厂的offer, ...
- 月薪没过20K的程序员要注意了!(文末送书)
知乎热议: 到底要掌握哪些技术才能顺利的找一份20K的工作? 根据这些年的工作经验,加上网络搜集,我特意整理了一套针对职场进阶的干货! 有很多朋友靠着这些内容进行复习拿到了BATJ等大厂的offer, ...
- 挖槽!堪称神级的Java技术手册火了???(文末送书活动)
前言 本文是为了帮大家快速回顾了Java中知识点,这套面试手册涵盖了诸多Java技术栈的面试题和答案,相信可以帮助大家在最短的时间内用作面试复习,能达到事半功倍效果. 本来想将文件上传到github上 ...
- 文末送书 | WAF 那些事
Hi!,我是小小,这是小小本周的最后一篇,本篇将会介绍WAF的事情,本篇将会文末送书.在此小小举出小手,相当欢迎各位快点快点快点参加. 什么是WAF WAF是一种产品,一种web应用防火墙,通过执行一 ...
- 文末送书 | 数据分析简单入门
这是小小本周的最后一篇,本周重点!文末送书, 我是小小,下面是本期文章,为您奉上! 前言 本实例将会以一个完整的例子用来阐述一个较为简单的Python数据分析.其中Python基础部分不再讲解 构建数 ...
- 张益唐被曝已证明黎曼猜想相关问题,震动数学界(文末送书)
金磊 Alex 发自 凹非寺 量子位 | 公众号 QbitAI 文末送书活动,记得看完啊 ! 先加群后抽奖,这次仅限群友参与 Breaking News! 网传数学家张益唐,已经攻克了朗道-西格尔零点 ...
最新文章
- php crypt加密 盐值,PHP crypt()函数的用法讲解
- linux操作系统原理_Linux内核分析-操作系统是如何工作的(二)
- Flexbox兼容性语法汇总
- bzoj3732-Network【Kruskal重构树模板】
- idea 编译spring_Spring 源码阅读环境的搭建
- 人工智能规模化落地还有哪些坑?阿里副总裁华先胜连麦详解!
- cts测试的一些总结
- AcWing 895. 最长上升子序列(LIS朴素做法)
- php 类似百度分页,写了一个仿百度贴吧分页效果的分页类,有人要么?
- 2019最新高级JAVA架构师之路(价值3万元的教程-年薪百万计划)
- 基于朴素贝叶斯算法实现情感分类
- XPS是什么格式?如何编辑?
- Python语言的适用范围
- DCOM配置出错: 不小心删除DCOM配置中,“我的电脑”属性的Everyone权限导致......
- ★如何解释特修斯之船问题?
- Podman一篇就学会
- MATLAB对ply文件格式的读取和显示
- cc1310实现wor接收发送低功耗模式
- ARM GIC中断控制器介绍
- 基因表达微阵列数据分类的多目标启发式算法