小编典典

java.lang.NoClassDefFoundError:javax / servlet / jsp / tagext /TagLibraryValidator

jsp

我按照此链接中的指南安装JSTL,但是在尝试启动JSP页面时遇到以下错误:

java.lang.NoClassDefFoundError:javax / servlet / jsp / tagext /
TagLibraryValidator

taglib声明为:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

/WEB-INF/lib在Tomcat Web应用程序下安装了JSTL
1.1,并试图在我的项目中执行相同的操作,但是没有用。我也尝试了JSTL的1.2版,并且仍然看到相同的消息。这是怎么引起的,我该如何解决?


阅读 1984

收藏
2020-06-08

共1个答案

小编典典

所述javax.servlet.jsp.tagext.TagLibraryValidator类在JSP
2.0引入。因此,此错误可能具有以下可能的原因:

  • 您没有运行与JSP 2.0兼容的serlvetcontainer。例如,Tomcat 4.x或5.0。您至少需要Tomcat 5.5或更高版本,6.0甚至更高版本,7.0。只是最新版本。

  • 您已经将/WEB-INF/lib任意下载的jsp-api.jarj2ee.jar文件或包含JSP API的文件弄乱了,它们来自完全不同的servlet容器make / version,而后者实际上不符合JSP 2.0。摆脱那些图书馆。您不需要它们。如果您这样做是为了解决编译错误,那么您做错了方法。它们应该以编译时类路径结尾,而不是运行时类路径结尾。

2020-06-08