2011-07-28 2 views
1

첫 번째 richfaces 프로젝트를 시험하고 있습니다.Servlet Faces 서블릿을 사용할 수 없습니다 (richfaces 4, tomcat 7)

  • JSF2.0
  • JSFKickStartWithoutLibs

내가 생성 된 견본을 채취 수출 WAR에 대한 변경을하지 않았다 : 그래서 선택한 다음 옵션 (JBoss의 도구 이클립스 플러그인을 사용하여) 새로운 JSF 프로젝트를 생성 파일에는 다음 라이브러리가 포함되어 있습니다.

/WEB-INF/lib/common-annotations.jar 
    /WEB-INF/lib/commons-beanutils.jar 
    /WEB-INF/lib/commons-collections.jar 
    /WEB-INF/lib/commons-digester.jar 
    /WEB-INF/lib/commons-logging.jar 
    /WEB-INF/lib/cssparser-0.9.5.jar 
    /WEB-INF/lib/guava-r09.zip 
    /WEB-INF/lib/richfaces-components-api-4.0.0.Final.jar 
    /WEB-INF/lib/richfaces-components-ui-4.0.0.Final.jar 
    /WEB-INF/lib/richfaces-core-api-4.0.0.Final.jar 
    /WEB-INF/lib/richfaces-core-impl-4.0.0.Final.jar 
    /WEB-INF/lib/sacjava-1.3.zip 
    /WEB-INF/lib/standard.jar 

그런 다음 오류없이 Tomcat에 배포했습니다. 그러나 응용 프로그램을 시작하면 (index.html이 /pages/inputname.jsf로 올바르게 리디렉션됩니다) 웹 브라우저에서 다음과 같은 오류가 발생합니다. catalina.out에 오류가 없습니다.

HTTP Status 404 - Servlet Faces Servlet is not available 

type Status report 

message Servlet Faces Servlet is not available 

description The requested resource (Servlet Faces Servlet is not available) is not available. 

생성 된 샘플 프로젝트를 변경하지 않았으므로 일부 누락 된 라이브러리가있는 것 같습니다. 이 문제를 해결하도록 도와주세요.

답변

7

당신은 JSF 구현 jars를 번들로 묶어야합니다. WEB-INF\lib (Mojarra 또는 MyFaces) 안에 jsf-api.jarjsf-impl.jar이 들어 있습니다. Tomcat이 JSF jar와 번들되지 않기 때문에

+0

Nice입니다. Netbeans에서는 라이브러리 JSF 2.1 – Jaider

+0

AFAIK를 추가하기 만하면됩니다. 왜냐하면 Mojarra 2.1.2 이상에서는 두 개의 jar 메소드를 사용하지 않으려 고 단일 jar를 릴리스하기 시작했기 때문입니다. 2.1.2 이전 버전은 두 개의 jar 묶음으로 제공됩니다. – Nikhil

2

프로젝트에 JSF jar가 없습니다. 나는 'JSFKickStartWithoutLibs'템플릿을 기반으로하는 프로젝트가 이미 JSF jar와 함께 제공되는 JBoss AS에서 실행되도록 고안되었다고 생각합니다.

관련 문제