栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Tomcat10的坑

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tomcat10的坑

最近在想复习一下servlet 刚好家里新买了一台mac,于是就把所有开发软件都装上了最新版。

intellij:2020,JDK:14, Tomcat:10

然后就碰上了Tomcat10这个玩意。

新建了一个Maven项目配置了Tomcat10之后页面跑起来正常。

一切看起来很Nice

但是!!

在之后我写servlet之后引入servlet-api 不管是3.0之前的版本还是最新版4.0.1都会报错。

(解释一下关于servlet的报名不同:3.0之前叫servlet-api 3.0之后改名叫Java.servlet-api了)

报错信息我就不截图了

大概是:javax.servlet is not cast to jaraka.servlet.

然后再次访问就变成了404

解决我大半天,下面把我的解决心路历程记录下来:

首先排查404的错误,我反复检查了servlet的配置,也尝试写了注解方法请求

都发现没问题啊。

有时也会报class not found : javax.servlet

然后检查了引入的dependcy

从4.01改到了3.0,之后设置了dependcy的作用范围provided:


  javax.servlet
  javax.servlet-api
  4.0.1
  provided

然后就在怀疑maven自动导入的servlet包难道没有生效吗

就把maven进来的包各种挪动位置:

这里:

这里:

这里:

都试了。都没用。

要么404.要么javax.servletclass is not found 要么is not cast to jaraka.servlet.

我哭了。

等我去洗个澡回来。

突然醒悟!!

jaraka是个什么什么鬼!!!

于是去tomcat10的lib里面看了一眼servlet-api.jar这个包

这玩意里面的servlet包名竟然不是叫javax!!是jaraka

难怪报错信息是javax.servlet can not cast to jaraka.servlet

ok,找到问题了。

接下去把Tomcat10的servlet-api.jar导入到项目的lib下就OK了:

漂亮!折腾了我滴娘亲啊、

或者把整个Tomct10的lib引进来也是可以。

记录一下记录一下 用Tomcat10的朋友可以借鉴一下。

如果大佬有更好的办法也可以指点一下我。

-------------------------------------------------

后记:

我把Tomcat换成了9.0.34,maven完美匹配依赖的servlet包,再也不用手动去导包了。

还是Tomcat9舒服~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777512.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号