springboot-tomcat冲突

maven tomcat版本冲突异常

记录一个错误

在项目启动时报错:

java.lang.AbstractMethodError: org.apache.tomcat.websocket.server.WsSessionListener.sessionCreated(Ljavax/servlet/http/HttpSessionEvent;)V

引入Session报错。

原因:Springboot默认版本tomcat9使用的是servletAPI v4.0。但是SpringBoot 2.x还包含着 servletAPI v3.1,出现了servletAPI冲突问题,所以改变tomcat版本为tomcat8,因为tomcat8使用的是Servlet v3.1。

在pom中加上自己tomcat版本,如下(源自 @温暖的小冷风)
在这里插入图片描述

但是我这里加上后直接启动报错了。。。


删除spring boot 项目pom中servlet依赖(源自 @XiuL)

<!--        <dependency>-->
<!--            <groupId>javax.servlet</groupId>-->
<!--            <artifactId>javax.servlet-api</artifactId>-->
<!--            <version>3.1.0</version>-->
<!--            <scope>provided</scope>-->
<!--        </dependency>-->

…额。我项目中没有这个依赖


有些博客说是jdk/jre 下的lib里面的javax-sevlet-api.jar包的冲突,删掉即可
我这里是找到idea中的Edit Configuration… 下的 Environment的JRE,是Default的改为自己的jdk下的jre路径。

成功!

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值