英杰社区https://bbs.csdn.net/topics/617804998
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.jar Action: 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 文件中会出现如下代码
com.xxx.kas.swagger swagger-spring-mvc-core 1.0-SNAPSHOT servlet-api javax.servlet
如果排除之后依然报错,可以选择上图的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。