我按照此链接中的指南安装 JSTL,但当我尝试启动 JSP 页面时出现以下错误:
java.lang.NoClassDefFoundError:javax/servlet/jsp/tagext/TagLibraryValidator
标签库声明是:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Run Code Online (Sandbox Code Playgroud)
我在 Tomcat webapps 下安装了 JSTL 1.1/WEB-INF/lib并尝试在我的项目中执行相同的操作,但它不起作用。我也尝试了 JSTL 1.2 版,但仍然出现相同的消息。这是如何引起的以及如何解决?
小智 15
我遇到了类似的问题,我使用的是 Tomcat 10。我使用 Apache NetBeans 12.3 IDE 时收到此错误。
我添加了以下库:
我的代码现在运行良好。 链接查看我添加它们的位置
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.jar或j2ee.jar包含 JSP API 的文件弄乱了,这些文件源自完全不同的 servletcontainer make/version,而该版本实际上不符合 JSP 2.0。摆脱那些图书馆。你不需要它们。如果您这样做是为了解决编译错误,那么您的做法是错误的。它们应该最终出现在编译时类路径中,而不是运行时类路径中。另请参阅如何在 Eclipse 项目中导入 javax.servlet API?
| 归档时间: |
|
| 查看次数: |
60990 次 |
| 最近记录: |