java - 将 JSF 2.1 与 JSP 2.0 一起使用时出错 : Unable to read TLD from JAR file

标签 java jsp maven jsf-2 taglib

我尝试在 JSP 2.0 中使用 JSF 2.1。

当我添加这个<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

我收到以下错误:

Unable to read TLD "META-INF/html_basic.tld" from JAR file
    "file:/home/fadhel/.m2/repository/javax/javaee-web-api/6.0/javaee-web-api-6.0.jar":
org.apache.jasper.JasperException: PWC6169:
    Failed to load or instantiate TagLibraryValidator class: com.sun.faces.taglib.html_basic.HtmlBasicValidator.

有人可以告诉我如何在 Java 6 中使用 JSF 2.1 和 JSP 2.0 吗?

最佳答案

我相信特定的 Maven 库仅为 Java 编译提供。您不能在运行时使用它(即使对于单元测试也是如此)。如果您要针对服务器运行它,请确保依赖项被标记为provided

如果您希望加载该库,您将必须依赖于真正的 API。由于几乎每个 Java EE API 往往都有不止一种实现,因此您必须自己研究并选择这些实现。

查找博客文章 like this one解决您的特定问题。

关于java - 将 JSF 2.1 与 JSP 2.0 一起使用时出错 : Unable to read TLD from JAR file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12015433/

相关文章:

java - Spring 框架: which template engine?

maven - 如何将 Maven 构建转换为 Gradle?

java - GWT RequerstFactory - 从实体提取代码到服务定位器

java - hibernate 如何使用无参数构造函数初始化最终字段?

java - 如何使用 Rcaller 将数据库表从 java 转移到 R?

spring Controller 中的 java.lang.StackOverflowError

java - 如果我在 android 代码中使用 java.lang.Iterable#forEach,Lint 会出错

java - Eclipse 不适用于 JSP

maven - 在 maven 中解压任意 tar.gz 文件

maven - 如何使用 Maven 部署本地已安装的 Artifact