2012-08-10 1 views
1

MAVEN을 사용하여 JSF 프로젝트를 빌드하려고합니다. 내가 필요한 모든 의존성을 추가하려고했다. 오류가 발생할 때마다.Richface 및 MyFaces가있는 JSF 프로젝트의 Pom 종속성

<dependencies> 
    <dependency> 
     <groupId>org.richfaces</groupId> 
     <artifactId>richfaces-bom</artifactId> 
     <type>pom</type> 
     <version>4.2.2.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.myfaces.core</groupId> 
     <artifactId>myfaces-impl</artifactId> 
     <version>2.0.2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.myfaces.core</groupId> 
     <artifactId>myfaces-api</artifactId> 
     <version>2.0.2</version> 
     <scope>compile</scope> 
    </dependency> 

</dependencies> 

프로젝트가 실제 JSF 프로젝트로 작동하려면이 POM을 어떻게 추가해야합니까?

P.S 오른쪽 richfaces 종속성을 추가했습니다. 웹 스피어에서 배포 문제가 발생했습니다.

Caused by: javax.faces.FacesException: java.lang.UnsupportedOperationException 
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:387) 
    at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1651) 
    at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:410) 
    at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88) 
    at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169) 
    ... 17 more 
Caused by: java.lang.UnsupportedOperationException 
    at com.sun.faces.config.ConfigureListener$ApplicationMap.entrySet(ConfigureListener.java:1948) 
+0

필자는 Maven이 아니므로 자세히 설명하지는 않겠지 만 적어도 Websphere 자체는 ** 이미 ** JSF 라이브러리와 함께 제공됩니다. 웹 응용 프로그램에서 웹 응용 프로그램을 제어하려는 경우에는 웹 응용 프로그램을 웹 서버에 구성해야합니다. stacktrace는 Mojarra 행 ('com.sun.faces. *')을 포함하고있어, Websphere가 ** 여전히 ** 사용하고 있음을 나타냅니다. – BalusC

+0

@BalusC websphere 자신의 라이브러리를 비활성화 할 수 있습니까? 저는 웨슬리 지역에있는 도서관이 모두 확대 될 것이라고 생각하지 않습니다. – Kayser

답변

0

Richfaces 사용중인 의존성 그냥 bom - 그것은 호환 "진짜"종속의 집합을 나열하고 pomdependencyManagement 섹션에서 사용되어야한다

<dependencyManagement> 
    <dependencies> 
     <dependency> 
     <groupId>org.richfaces</groupId> 
     <artifactId>richfaces-bom</artifactId> 
     <version>4.2.2.Final</version> 
     <type>pom</type> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

종속성에서 , 다음과 같이 구현해야합니다 :

<dependencies> 
    <dependency> 
    <groupId>org.richfaces.ui</groupId> 
    <artifactId>richfaces-components-ui</artifactId> 
    <!--version>4.2.2.Final</version--> 
    </dependency> 

    <dependency> 
    <groupId>org.richfaces.core</groupId> 
    <artifactId>richfaces-core-impl</artifactId> 
    <!--version>4.2.2.Final</version--> 
    </dependency> 
<dependencies> 

종속 요소의 버전 요소는 중복됩니다. 개미, bom을 사용하는 경우. 자발적으로 bom 설정을 무시할 수 있으므로 제거하는 것이 좋습니다.

EDIT : 구성 오류가 발생했습니다. 그 원인이 무엇인지 모릅니다. 내 충고는 작동하는 webapp 예제로 시작한 다음 추가 종속성을 추가하는 것입니다. 내가 가장 좋아하는 방법은 받는다는는 원형에서 웹 애플리케이션을 geneare 수 있도록하는 것입니다 : 당신이 다음 possibl 원형의 긴 목록을 볼 수

mvn archetype:generate

. JSF가 포함 된 무언가를 jsf-weld-servlet-webapp 또는 weld-jsf-jee 또는 richfaces-archetype-simpleapp과 같이 시도하십시오. 이는 제대로 작동하는 것으로 알려져 있으며 pom과 나머지 프로젝트를 샘플링하여 누락 된 부분을 확인할 수 있습니다.

+0

richfaces 종속성을 변경했습니다. 하지만 난 예외로 배포 .. – Kayser

+0

@ Kayser - 해결 방법을 추가했습니다. – kostja