发布时间:2022-11-27 文章分类:编程知识 投稿人:李佳 字号: 默认 | | 超大 打印
目录
  • 报错情况
  • 分析原因
  • 解决方法

本文author:@愷龍

报错情况

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

分析原因

经过一番调查研究发现原因如下:

  • JavaEE被Oracle捐献给Apache了。目前最高版本是 JavaEE8;

总结一下这个原因还是跟之前的"xxx cannot be cast to jakarta.servlet.Servlet "报错本质原因一样。

解决方法

tomcat9以前的包都用的这个:
java.lang.NoClassDefFoundError: javax/servlet/jsp/tagext/TagLibraryValidator   问题解决
现在就得更换这个包才能正常运行:
换成
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

欢迎关注公众号:愚生浅末。