2014-01-04 2 views
0

Я изучаю JSF и пытаюсь создать простую страницу входа. Но когда я раскрываю мое приложение я получаю:Зависимость от 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> 

Я также попытался добавить банки в WEB-INF/Lib, но он не работает (и также мне не нравится этот подход из-за плохой конструкции). Любые идеи?

ответ

0

Попробуйте удалить строку <scope>provided</scope> для зависимости jstl. «предоставленная» область означает, что библиотека будет доступна из контейнера, поэтому Maven не будет ее упаковывать.

+0

Пробовал, но получил java.lang.StackOverflowError \t com.sun.faces.application.ViewHandlerResponseWrapper.setStatus (ViewHandlerResponseWrapper.java:88) \t javax.servlet.http.HttpServletResponseWrapper.setStatus (HttpServletResponseWrapper.java:201) – StackNRG

Смежные вопросы