【问题标题】:Unable to read html_basic.tld from jsf-impl-2.1.2.jar无法从 jsf-impl-2.1.2.jar 读取 html_basic.tld
【发布时间】:2011-08-04 07:01:07
【问题描述】:

我在 Tomcat7 中使用 jsf 2.1.2 部署了我的应用程序,在访问我的 jsp 页面时,我得到了一个 IOException

org.apache.jasper.JasperException: /login.jsp (line: 4, column: 56) Unable to read TLD "META-INF/html_basic.tld" from JAR file "jndi:/localhost/AdminUI/WEB-INF/lib/jsf-impl-2.1.2.jar": java.io.IOException: The system cannot find the path specified

但所需的文件存在于 JAR 中的 META-INF 下。这是一个jsf错误吗?

【问题讨论】:

  • 不,这不是 JSF 错误。这是一个环境错误。然而,我想知道如果您使用 JSP 的后续 Facelets 而不是旧版 JSP,它是否有效。
  • BalusC 怎么办?如何从中恢复?我想与 JSF 合作。
  • 可能的原因太多。类路径污染就是其中之一,在初学者中并不少见。当您使用 JSP 的后续 Facelets 作为视图技术时,您确实可以继续使用 JSF。更重要的是,它是JSF 2.x 的推荐默认 视图技术。 JSP 已被弃用为 JSF 2.x 视图技术。另请参阅 download.oracle.com/javaee/6/tutorial/doc/giepx.html 试试 Facelets。
  • 感谢 Balusc,提供的链接帮助很大。

标签: jsf servlets tomcat7


【解决方案1】:

Tomcat 捆绑了一些 api,例如 servlet-api、jsp-api,这可能会导致冲突。所以我建议使用空库部署应用程序并根据错误日志添加库(我的意思是部署错误而不是编译错误),这样您就可以确保添加正确的库。

注意:有些库是编译所必需的,而不是用于部署目的,因为服务器已经打包了这些库!

我遇到了同样的问题,我只使用了 jsf-api、jsf-impl、jstl-x 和 log4j.x(在我的情况下)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-11
    • 2021-03-05
    • 2013-02-20
    • 2014-06-07
    • 1970-01-01
    • 2012-04-07
    • 1970-01-01
    • 2012-08-14
    相关资源
    最近更新 更多