【问题标题】:Configuring Tomcat 7 + JSF 2 + Weld [duplicate]配置Tomcat 7 + JSF 2 + Weld [重复]
【发布时间】:2012-05-25 18:47:42
【问题描述】:

我正在尝试使用 tomcat 7.0.27 + JSF 2.1.7 + Weld 1.1.8 创建一个新项目

在我尝试打开页面时将 Weld 添加到项目后,出现以下异常:

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
at com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:345)
at com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:154)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

如果我将 JSTL 1.2 添加到项目中,JSF 会停止渲染(如果我在浏览器上打开页面源代码,则与 IDE 中的内容相同)。

有什么想法吗?

非常感谢, 菲利普

【问题讨论】:

  • 这不是答案,但您看过 TomEE 吗?您正在构建自己的 Web 配置文件容器的一部分。为什么不直接使用已经构建并正确集成的?
  • 这个项目在 Glassfish 上运行良好,但我更喜欢使用 Tomcat,因为它的托管成本更低。没有 faces-config.xml,我使用的是 JSF 2 默认值。
  • 您是在使用 jsps 还是 XHTML 文件作为视图?
  • 添加 faces-config.xml 解决了问题 -.-;回答我给你分数的问题。

标签: jsf tomcat7 cdi


【解决方案1】:

您需要确保在 WEB-INF 中有 faces-config.xml

【讨论】:

    猜你喜欢
    • 2014-07-10
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多