2013-06-03 4 views
0

응용 프로그램 문제를 해결하는 데 도움을 요청 받았습니다. 여기 EAR 응용 프로그램 이름 및 컨텍스트 루트와 관련된 문제가 있습니까?

은 배경입니다 - 우리는 JSF 1.2 응용 프로그램에서 실행 7. WAS이 하나의 WAR입니다 있습니다. 팀은 JSF 2.0 모듈과 PrimeFaces 컴포넌트 라이브러리를 사용하는 동일한 애플리케이션에 또 다른 WAR를 추가했습니다. 따라서 이것은 JSF 1.2와 JSF 2.0의 결합입니다. WAS 7의 JSF 2.0에 대한 기본 지원이 없으므로 두 번째 전쟁의 WEB-INF/lib에 mojarra jar를 추가하고 응용 프로그램 클래스 로더를 PARENT_LAST로 설정했습니다.

내가 관찰 한 또 다른 한 가지는이 팀이 application.xml의 EAR 표시 이름과 JSF 2.0 WAR의 컨텍스트 루트 값이 정확히 동일하도록 응용 프로그램을 정의한 것입니다. 나는 그것이 명확성을 위해 이런 식으로해서는 안된다는 것을 알고 있지만 그것을 명확히하는 것을 찾을 수는 없습니다.

은 JSF 2.0 WAR에서 페이지를 가져하려고

은 응용 프로그램이 오류가 아래지고 있습니다. 난 단지 스택의 몇 줄이 추적 추가합니다

Exception created : java.lang.NoSuchMethodError: javax/faces/context/FacesContext.getAttributes()Ljava/util/Map; 
at org.primefaces.lifecycle.RestoreViewPhaseListener.afterPhase(RestoreViewPhaseListener.java:30) 
at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175) 
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114) 

나는 오류의 원인을 결정하기 위해 다른 무엇을 확인할 수 있나요?

+2

이 메서드는 JSF 2.0에 추가되었으며 JSF 1.2에는 없었습니다. 따라서 JSF 2.0 대신 실제로 JSF 1.2가 사용되었습니다. – BalusC

+0

감사합니다. 이것은 부분적인 설치 문제였습니다. EAR 클래스 로더가 PARENT_LAST로 설정되었지만 WAR 클래스 로더가 아닙니다. 우리가 PARENT_LAST를 두 곳에서 만들었 더라면 효과가있었습니다. 이제 나의 새로운 질문은 - EAR 레벨 설정과 WAR 레벨 설정의 차이점은 무엇입니까? 아니면 새로운 질문을해야합니까? – adbdkb

답변

1

이것은 부분적인 설정 문제였습니다. EAR 클래스 로더가 PARENT_LAST로 설정되었지만 WAR 클래스 로더가 아닙니다. 우리가 PARENT_LAST를 두 곳에서 만들었 더라면 효과가있었습니다. 다른 사람이 같은 문제가 의견을 읽고하는 것보다 답에서 고정 손쉽게 찾을 수 있습니다 가지는 있도록 답변으로이 퍼팅

. 이 나쁜 에티켓 인 경우

,이 삭제할 수 있습니다.