java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator 问题解决
本文author:@愷龍
报错情况
在一次使用JSP的jstl时候按照正常引入jstl和使用for each标签出现了如下报错:

分析原因
经过一番调查研究发现原因如下:
- JavaEE被Oracle捐献给Apache了。目前最高版本是 JavaEE8;
- Apache把JavaEE换名了,以后不叫JavaEE了,以后叫做 jakarta EE。
- 以后没有JavaEE了。以后都叫做Jakarta EE。
- JavaEE8版本升级之后叫做JakartaEE9
- JavaEE8的时候对应的Servlet类名是:javax.servlet.Servlet
- JakartaEE9的时候对应的Servlet类名是:jakarta.servlet.Servlet (包名都换了)
- 如果你之前的项目还是在使用javax.servlet.Servlet,那么你的项目无法直接部署到Tomcat10+版本上。你只能部署到Tomcat9-版本上。在Tomcat9以及Tomcat9之前的版本中还是能够识别javax.servlet这个包。
总结一下这个原因还是跟之前的"xxx cannot be cast to jakarta.servlet.Servlet "报错本质原因一样。
解决方法
tomcat9以前的包都用的这个:

现在就得更换这个包才能正常运行:
换成
jakarta.servlet.jsp.jstl-api-2.0.0.jar
jakarta.servlet.jsp.jstl-2.0.0.jar
这俩包然后导入就好了
网盘下载:
jakarta.servlet.jsp.jstl-api-2.0.0.jar: https://kohler.lanzouv.com/i1l7M0h1dbad
jakarta.servlet.jsp.jstl-2.0.0.jar :https://kohler.lanzouv.com/ibpqp0h1dbib
欢迎关注公众号:愚生浅末。
java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator 问题解决的更多相关文章
- Handler processing failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config解决
出现这个问题往往伴随 HTTP-500错误 报错信息: HTTP Status - Handler processing failed; nested exception is java.lang. ...
- java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
今天写SpringMvc时,遇到这样一个问题: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config at org.sp ...
- HTTP Status 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag
我在项目中导入了jar,还是不能使用EL表达式,一运行就出现了下面的额错误: org.apache.jasper.JasperException: javax.servlet.ServletExcep ...
- HTTP Status 500 - Handler processing failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
今天在用idea搭建spring mvc时候报了这个错误,缺少jstl的依赖包.由于是使用的spring-core的依赖,而spring-core里面是有jstl的.这就郁闷了,最后是在自己的pom. ...
- java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/LoopTag
异常原因:缺少jstl.jar包.一般在新建Web项目是jstl一项不要选none就不会出现这个问题.(还有可能就是缺少servlet-api.jar)
- Spring 4.0 StandaloneMockMvcBuilder java.lang.NoClassDefFoundError: javax/servlet/SessionCookieConfig 问题解决
standaloneSetup(clrr). build(); 执行第二行 build() 时,出现下面的错误提示. java.lang.NoClassDefFoundError: javax/ser ...
- springMVC: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
springMVC开发web的时候,报错:java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config 原因:未引入jstl ...
- java.lang.NoClassDefFoundError: javax/servlet/ServletContext
方法1:把SpringBoot中main方法所在的class不再继承org.springframework.boot.context.web.SpringBootServletInitializer即 ...
- java.lang.NoClassDefFoundError: javax/servlet/AsyncContext
报错:java.lang.NoClassDefFoundError: javax/servlet/AsyncContext 我认为你需要在Servlet API,而不是2.5.AsyncContext ...
- java.lang.NoClassDefFoundError: javax/servlet/AsyncListener解决方案
问题:spring3.2的架构在tomcat6.0中无法正常启动,抛出java.lang.NoClassDefFoundError: javax/servlet/AsyncListener错误 原因: ...
随机推荐
- 用python处理html代码的转义与还原-转
本篇博客来源: 用python处理html代码的转义与还原 'tag>aaa</tag> # 转义还原 str_out = html.unescape(str_out) print( ...
- 张高兴的 MicroPython 入门指南:(二)GPIO 的使用
目录 什么是 GPIO 使用方法 使用微动开关点亮板载 LED 硬件需求 电路 代码 参考 什么是 GPIO GPIO 是 General Purpose Input Output 的缩写,即&quo ...
- vulnhub - BREACH: 1
vulnhub - BREACH: 1 描述 作为多部分系列中的第一部分,Breach 1.0 旨在成为初学者到中级的 boot2root/CTF 挑战.解决将需要可靠的信息收集和持久性相结合.不遗余 ...
- 树莓派开机自启动python程序
step1 添加程序到rc.local 添加到rc.local 里的py脚本文件将会在树莓派开机是自动运行,这种方式适合没有显示器,具体操作如下: sudo nano /etc/rc.local st ...
- python使用flask框架生成excle返回前端(包含图片、表格、表头灰色、表格加边框)
python使用flask框架生成excle文档,文档中包含图片和表格,其中表格要包含图片.表格.表头灰色.表格加边框,照片和表格不重叠. 逻辑:获得图片的高度,根据高度计算表格从第几行开始插入. 效 ...
- Simple WPF: WPF自定义一个可以定义步长的SpinBox
最新内容优先发布于个人博客:小虎技术分享站,随后逐步搬运到博客园. 通过WPF的按钮.文本输入框实现了一个简单的SpinBox数字输入用户组件并可以通过数据绑定数值和步长.本文中介绍了通过Xaml代码 ...
- 统计里面PV 和 UV代表什么意思
1.网站流量bai统计中"PV"它所代表的意思是访问量了,具体指的du就是网站zhi的页面点击量或是浏览量,亦或是页面的刷新量dao了,网站的页面每刷新一次,就统计一个" ...
- element-plus如何隐藏el-row
在 Element Plus 中,el-row 是用于布局的组件,如果你想要隐藏 el-row,你可以使用 CSS 的 display 属性将其设置为 none.以下是一个简单的示例: <tem ...
- 前端说你的API接口太慢了,怎么办?
当有千万条海量数据时,前端调取接口发现接口响应的太慢,前端这时让你优化一下接口,你说有几千万条数据,觉得自己尽力了,前端觉得你好菜,别急,读完这篇文章,让前端喊你一声:大佬,厉害!!! 常用的方法总结 ...
- scratch源码下载 | 炮轰僵尸
程序说明: <炮轰僵尸>是一款基于Scratch平台制作的游戏程序,它采用了植物大战僵尸的经典场景.在游戏中,玩家需要控制一枚大炮来对抗不断入侵的僵尸.通过移动鼠标,玩家可以调整炮筒的方向 ...