【问题标题】:Dependency for JSF not found [duplicate]未找到 JSF 的依赖项 [重复]
【发布时间】:2014-01-04 09:29:01
【问题描述】:

我正在学习 JSF 并尝试创建简单的登录页面。但是当我部署我的应用程序时,我得到:

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
    com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:345)
    com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:154)
    com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:100)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)

在我的 pom.xml 中有

<dependencies>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.1.7</version>
    </dependency>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.1.7</version>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.el</groupId>
        <artifactId>el-api</artifactId>
        <version>2.2</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

我也尝试将 jars 添加到 WEB-INF/lib,但没有成功(而且由于设计不佳,我也不喜欢这种方法)。 有任何想法吗?

【问题讨论】:

    标签: java jsf maven


    【解决方案1】:

    尝试删除 jstl 依赖的 &lt;scope&gt;provided&lt;/scope&gt; 行。 “provided”范围意味着该库将从容器中可用,因此 Maven 不会对其进行打包。

    【讨论】:

    • 试过了,但是得到了 java.lang.StackOverflowError com.sun.faces.application.ViewHandlerResponseWrapper.setStatus(ViewHandlerResponseWrapper.java:88) javax.servlet.http.HttpServletResponseWrapper.setStatus(HttpServletResponseWrapper.java:201 )
    猜你喜欢
    • 1970-01-01
    • 2021-03-17
    • 2019-02-24
    • 2021-06-16
    • 2017-09-18
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多