NoClassDefFoundError:javax/servlet/jsp/tagext/TagLibraryValidator

NoClassDefFoundError:javax/servlet/jsp/tagext/TagLibraryValidator,jsp,jstl,Jsp,Jstl,我按照中的指南安装JSTL,但在尝试启动JSP页面时出现以下错误: NoClassDefFoundError:javax/servlet/jsp/tagext/TagLibraryValidator taglib声明是: <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 我在TomcatWebApps中的/WEB-INF/lib下安装了JSTL 1.1,并尝试在我的项目中执行同样的操作,但没有成功。我

我按照中的指南安装JSTL,但在尝试启动JSP页面时出现以下错误:

NoClassDefFoundError:javax/servlet/jsp/tagext/TagLibraryValidator

taglib声明是:

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

我在TomcatWebApps中的
/WEB-INF/lib
下安装了JSTL 1.1,并尝试在我的项目中执行同样的操作,但没有成功。我还尝试了JSTL的1.2版,但仍然收到了相同的消息。这是如何导致的,我如何解决它?

该类是在JSP 2.0中引入的。因此,此错误可能有以下原因:

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

  • 您将
    /WEB-INF/lib
    与任意下载的
    jsp api.jar
    j2ee.jar
    文件或任何包含jsp api的文件混在一起,这些文件源于一个完全不同的servletcontainer make/版本,而该版本实际上并不符合jsp 2.0。扔掉那些图书馆。你不需要它们。如果这样做是为了解决编译错误,那么就错了。它们应该在compiletime类路径中结束,而不是在运行时类路径中结束。另见

    • 该类是在JSP 2.0中引入的。因此,此错误可能有以下原因:

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

      • 您将
        /WEB-INF/lib
        与任意下载的
        jsp api.jar
        j2ee.jar
        文件或任何包含jsp api的文件混在一起,这些文件源于一个完全不同的servletcontainer make/版本,而该版本实际上并不符合jsp 2.0。扔掉那些图书馆。你不需要它们。如果这样做是为了解决编译错误,那么就错了。它们应该在compiletime类路径中结束,而不是在运行时类路径中结束。另见


        • 我也有同样的问题。使用WildFly服务器的最新版本。这解决了我的问题。

          我也有同样的问题。使用WildFly服务器的最新版本。这解决了我的问题。

          我遇到了类似的问题,我使用的是Tomcat 10。我是使用ApacheNetbeans12.3IDE得到这个错误的

          我添加了以下库:

        • 我的代码现在运行良好。
          我遇到了类似的问题,我正在使用Tomcat 10。我是使用ApacheNetbeans12.3IDE得到这个错误的

          我添加了以下库:

        • 我的代码现在运行良好。

          这解决了我的问题,但是像
          这样的标签不起作用。这解决了我的问题,但是像
          这样的标签不起作用。