首页 文章

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

提问于
浏览
1

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

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

taglib声明是:

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

我在Tomcat webapps中的 /WEB-INF/lib 下安装了JSTL 1.1并尝试在我的项目中执行相同的操作,但它没有用 . 我也尝试过JSTL的1.2版本,但仍然是相同的消息 . 这是怎么造成的,我该如何解决?

1 回答

  • 3

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

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

    • 您使用任意下载的 jsp-api.jarj2ee.jar 文件或包含JSP API的任何内容混乱了 /WEB-INF/lib ,这些源自完全不同的servletcontainer make / version,而这实际上并不符合JSP 2.0 . 摆脱那些库 . 你不需要它们 . 如果你这样做是为了解决编译错误,那么你做错了 . 它们应该在编译时类路径中结束,而不是在运行时类路径中 . 另见How do I import the javax.servlet API in my Eclipse project?

相关问题