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错误 原因: ...
随机推荐
- Centos7 安装 rabbitmq-server-3.7.7 图文教程
下载 rabbitmq-server wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.7/rabbitmq-server-3. ...
- redis雪崩
每个key(即数据)如果设置了失效时间的话,如果大量key同时过期的时候,或者说因为某种原因redis中的数据突然大批量丢失,这些key又大量地去请求这些key时,因为redis里面没有这些数据,就会 ...
- 火山引擎ByteHouse发布高性能全文检索引擎
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群. 随着数字时代的发展,数据的来源和生成方式越来越广泛,数据形态也愈加丰富. 以某电商平台的数据情况举例.该电 ...
- webpack4.15.1 学习笔记(四) — Tree shaking
目录 Tree shaking 原理 标记效果 副作用代码不可被删除 如何实现 Tree shaking 的几种方法 总结 Tree shaking 本质上为了消除无用的js代码,减少加载文件体积的方 ...
- 只会建数据库怎么写API?database2api 能帮到你!
database2api 意为 DataBase to API,即只要有数据库,就可以生成开放 API. database2api 是一款强大而便捷的工具,主要功能是依据现有的数据库自动生成开放的 A ...
- [rCore学习笔记 05]第0章作业题
作业1 略. 作业2 C语言程序 gcc编译 gcc -o main main.c 编译报错 成功产生异常 main.c: In function 'main': main.c:5:26: warni ...
- python yield关键字作用
python yield关键字作用 1,是当前对象变成一个可迭代对象 def frange(start,stop,step): x = start while x<stop: yield x x ...
- 【微信小程序】 侧边栏菜单查询
原因 开发的项目在WX小程序上有个新需求 就是在用户[我的]界面里的菜单中多加一个[我的服务] 之前有提及过,服务消息被按8个消息类型拆成了8张表 对应,在小程序界面这里也应该放上对应8个菜单,按菜单 ...
- 【Java】逻辑错误BUG
开局一张图来解释就够了 查询 COUNT() 结果数,有且仅有一条记录 好死不死判断查询的结果数量等等于0, 这不永远都是取TRUE返回 花了一个下午的时间就为了解决这个BUG
- 【Mybatis】13 动态SQL
还是先准备演示环境 数据库: CREATE TABLE `t_user` ( `id` int NOT NULL AUTO_INCREMENT, `last_name` varchar(10) DEF ...