다른 OSGI 번들에 JSF 사용자 정의 구성 요소를 가질 수 있습니까?

StackOverflow https://stackoverflow.com/questions/203629

  •  03-07-2019
  •  | 
  •  

문제

Osgi와 JSF를 함께 사용한 사람이 있습니까?

JSF는 클래스 로더 마법을 사용하여 사용자 정의 구성 요소를 찾기 때문에 묻습니다. 튜토리얼 (강조 광산) :

이 구성 파일은이 구성 요소를 나타내는 .jar 파일에서 meta-inf/faces-config.xml이됩니다. JSF는 런타임에로드 된 각 .jar 파일에서 이러한 파일 이름을 찾습니다. (.WAR 파일의 Web-INF/LIB 디렉토리)에서 각 구성에 각각을 사용하십시오. 이러한 방식으로 여러 구성 요소 .jar 파일을 하나의 웹 응용 프로그램으로 결합 할 수 있으며 각 .jar에 설명 된 모든 구성 요소는 응용 프로그램에서 사용할 수 있습니다.

OSGI 번들 (즉, 사용자 정의 구성 요소가 JSF 런타임과 다른 OSGI 번들에 있음)과 JSF가 런타임에 이들을 찾을 수 있으므로 JSF 사용자 정의 구성 요소를 갖고 싶습니다.

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

도움이 되었습니까?

해결책

다음과 같은 방식으로 가능합니다.

  • Web Osgi 번들은 manifest.mf 구성 요소를 포함하는 번들을 가리키는 "요구 사항"이 있어야합니다.
  • 구성 요소 JAR에는 JSF 관련 파일이있는 Meta-Inf 및 Meta-Inf의 서브 포장이 포함되어 있어야합니다 (물론 구성 요소의 표준 패키지). 예를 들어 : Export-Package : Meta-Inf, Meta-Inf.Resources ...

Maven-Bundle 플러그인을 사용하는 경우 Apostrophe와 Meta-Inf 및 하위 패키지를 내보내는 데 동일하게 사용해야합니다. 예를 들어:

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

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

다른 팁

나는 그것이 당신의 문제에 정확하게 대답하는지 확실하지 않지만이 스레드를 발견했습니다. 봄과 오기 간호, 특히 이것 구체적인 답변 의존성과 클래스 경로가 매니페스트에서 번들로 제공되는 경우.

그 스레드는 또한 이것의 업데이트로 이어집니다. OSGI ™ 서비스 플랫폼 용 스프링 동적 모듈 (DM)에 대한 튜토리얼 관심이있을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top