惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
Last Week in AI
Last Week in AI
IT之家
IT之家
A
About on SuperTechFans
M
MIT News - Artificial intelligence
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
博客园 - 【当耐特】
V
Visual Studio Blog
Microsoft Security Blog
Microsoft Security Blog
博客园_首页
aimingoo的专栏
aimingoo的专栏
The Cloudflare Blog
Vercel News
Vercel News
博客园 - Franky
有赞技术团队
有赞技术团队
B
Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
量子位
云风的 BLOG
云风的 BLOG
T
Tailwind CSS Blog

博客园 - 港城大白鲨

SQLServer2022安装记录 Go 语言从入门到理解 Oracle日常问题集锦 IO流操作flush应用场景 源码、反码、补码详解及Byte结构 SSL证书类型OV、EV、DV说明来源阿里云 Servlet导出Excel,Json content-type的理解和日常实践 .NET版本发布历史 C# 部分类 详解C#中 Thread,Task,Async/Await,IAsyncResult【转】 企业微信-自建应用使用审批流程引擎 C# 操作Excel 常用整理 SQLAlwayson搭建过程之三 AlwaysOn Failover Cluster Instance SQLAlwayson搭建过程之二 AlwaysOn可用性组 SQLAlwayson搭建过程之一故障转移集群WSFC Sharepoint server2019 通讯组(安全组)发送邮件问题 SQLServer链接服务器 C# 操作Exchange 的powershell以实现邮件撤回
java.lang.ClassNotFoundException: javax.servlet.http.Http...
港城大白鲨 · 2023-07-28 · via 博客园 - 港城大白鲨

环境信息:

JDK 17、Tomcat 10

问题原因

我这里编译,打包都是好的,但是一运行发现就报错。错误的原因是 Tomcat10 里也自带了一些lib包,可以打开Tomcat下lib文件夹,这又涉及到了包的加载顺序了

一打开发现 Tomcat里的是 Jakarta EE,我Maven里引用的还是Java EE导致的。

Java EE的servlet

import javax.servlet.*

Jakarta EE的servlet

import jakarta.servlet.*

所以把POM里的引用的 javax.servlet 模块改为 jakarta.servlet或直接拿本地tomcat里的

错误截图

 Servelt和Tomcat支持关系

官方地址 https://tomcat.apache.org/whichversion.html

 还要注意一点 Tomcat 9和之前版本支持的是Java EE,Tomcat 10和后面的发行版本支持的Jakarta EE

类加载顺序

 https://tomcat.apache.org/tomcat-9.0-doc/class-loader-howto.html