[17.0.0.4 and later]

써드파티 JavaServer Faces 2.2 구현 구성

JavaServer Faces(JSF) Container 2.2 기능을 사용하여 Contexts and Dependency Injection(CDI) 통합이 애플리케이션에서 번들로 제공되는 JSF 제공자와 함께 작동하도록 할 수 있습니다.

시작하기 전에

내장 Liberty JSF 제공자와 다른 JSF 제공자를 사용할 경우에만 이 기능을 사용하십시오. Liberty에서 기본 JSF 제공자를 사용하는 경우 jsf-2.2 기능을 대신 사용하십시오.

이 태스크 정보

2.2.X 버전의 MyFaces 또는 Mojarra JSF 구현을 애플리케이션에 패키징하고 Liberty CDI 통합을 사용하려면 Liberty JSF 컨테이너를 사용하십시오. JSF 2.2로 애플리케이션을 실행하도록 Liberty 서버를 구성하려면 jsfContainer-2.2 기능을 사용으로 설정하고 애플리케이션 내에 JSF API와 구현을 패키징하십시오.

중요사항:
  • jsfContainer-2.2 기능을 다른 JSF 기능(예: jsf-2.2)과 함께 사용할 수 없습니다.
  • JSF 컨테이너를 사용하려면 JSF API javax.faces 클래스와 JSF 구현을 애플리케이션 내에 패키징하십시오. 프로그램은 공유 라이브러리에서 JSF API와 구현을 패키징하도록 지원하지 않습니다.
  • jsfContainer-2.2 기능은 2.2 버전의 JSF 스펙에 해당하는 JSF API와 구현에만 지원됩니다. JSF API와 구현의 MANIFEST.MF는 버전 범위 [2.2,2.3) 간의 Specification-Version을 정의해야 합니다.
  • jsfContainer-2.2가 있는 JSF @ManagedBeans의 경우 프로그램은 @Resource 또는 @EJB Bean이 있는 오브젝트의 삽입을 지원하지 않습니다. CDI @Named Bean을 대신 사용하십시오.

프로시저

  1. 다음 예제에서와 같이 server.xml 파일을 업데이트하여 jsfContainer-2.2 기능을 사용으로 설정하십시오.
    <featureManager>
    	<feature>jsfContainer-2.2</feature>
    </featureManager>
  2. 애플리케이션 내에서 사용할 JSF 제공자에 대한 JSF API와 구현을 패키징하십시오. 예를 들어 Mojarra와 함께 JSF 컨테이너를 사용하는 .war(웹 아카이브) 애플리케이션은 다음 예제와 같이 표시될 수 있습니다.
    /WEB-INF/lib/jsf-api-2.2.14.jar
    /WEB-INF/lib/jsf-impl-2.2.14.jar

    또는 애플리케이션이 앱 내의 다음 위치에서 Apache MyFaces를 패키징할 수 있습니다.

    /WEB-INF/lib/commons-beanutils-1.8.3.jar    # dependency of myfaces
    /WEB-INF/lib/commons-collections-3.2.1.jar  # dependency of myfaces
    /WEB-INF/lib/commons-digester-1.8.jar       # dependency of myfaces
    /WEB-INF/lib/commons-logging-1.1.3.jar      # dependency of myfaces
    /WEB-INF/lib/persistence-2.1.jar            # dependency of myfaces when using @EJB
    /WEB-INF/lib/myfaces-api-2.2.12.jar
    /WEB-INF/lib/myfaces-impl-2.2.12.jar

결과

JSF Container 2.2 기능이 사용되며 런타임 시에 Liberty 서버에서 로드합니다. 이 기능은 애플리케이션 내에서 패키징된 JSF API와 구현을 사용합니다.

주제의 유형을 표시하는 아이콘 태스크 주제

파일 이름: twlp_jsf22_implementations.html