2008-10-15 5 views
2

누구나 OSGi와 JSF를 함께 사용 했습니까? JSF는 사용자 정의 구성 요소를 찾기 위해 클래스 로더 마법을 사용하기 때문에다른 OSGi 번들에 JSF 사용자 정의 컴포넌트를 가질 수 있습니까?

내가 부탁드립니다. 튜토리얼 (강조 내)에서 :

이 구성 파일이 성분을 나타내는 .jar 파일에 되는 META-INF/얼굴-인 config.xml 끝날 것이다. JSF는 (.WAR 파일에 대한 WEB-INF/lib 디렉토리에서) 실행에로드 된 jar 파일 각각 같은 파일 이름을 을보고 그 구성에서 각 코드를 사용합니다. 이러한 방법으로, 여러 구성 요소 jar 파일은 하나의 웹 응용 프로그램에 을 결합 할 수 있으며, 각각의 설명 의 모든 구성 요소는 응용 프로그램에 사용할 수 .JAR. 내가 OSGi 번들로 JSF 사용자 정의 구성 요소를 가질 수 있도록하고 싶습니다

와 JSF이 런타임에 찾을 수 있으려면 (즉, 사용자 정의 구성 요소는 JSF 런타임 다른 OSGi 번들에있다).

비슷한 일을 한 사람이 있습니까?

답변

1

그것은 다음과 같은 방법으로 가능하다 :

  • 웹 OSGi 번들이 가지고
  • 구성 요소 항아리가있는 구성 요소가 들어있는 번들을 가리키는 MANIFEST.MF에서 "-번들 필요"한다 JSF 관련 파일 (물론 컴포넌트의 표준 패키지)이있는 경우 META-INF 및 META-INF의 하위 패키지가 포함 된 Export-Package가 있어야합니다. 예를 들어 : 수출 패키지 : META-INF, META-INF.resources ...

당신은 당신이 아포스트로피 및 META-INF 및 하위 패키지를 내보내기위한 동등한를 사용해야 플러그인 받는다는 - 번들을 사용하는 경우. 예를 들어 : JSF 사양 2.2에서

<Export-Package> 
    a.b.c, 
    '=META-INF', 
    '=META-INF.resources', 
    ... 
</Export-Package> 

는 JSF-OSGI의 관계에 대한 부분이있을 수 있습니다. 진행 상황을 보려면 http://java.net/jira/browse/JAVASERVERFACES_SPEC_PUBLIC-942

을 참조하십시오.
관련 문제