文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-09-21 16:37

关注

  5a2585dded9b416fb4ea58637b42ed39.png

  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-apijakarta.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.swaggerswagger-spring-mvc-core1.0-SNAPSHOTservlet-apijavax.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。

来源地址:https://blog.csdn.net/m0_73367097/article/details/131685815

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯