2013-09-06 3 views
1

번들 리소스를 다른 번들과 공유하는 방법은 무엇입니까? 예를 들어 이미지 또는 속성 파일을 모든 번들에 복제하는 대신 한 곳에서 액세스하려고합니다.OSGI 번들의 리소스를 다른 번들에 공유하는 방법

나는 조각 - 호스트를 사용하려고했으나 예를 들어, (적어도 나는 방법을 모른다) 여러 번들을 지정할 수 있습니다되지 않습니다 :

<!-rest of the pom--> 
    <instructions> 
     <Fragment-Host> 
      com.bundlehost 
     </Fragment-Host> 
    </instructions> 
+3

이 모듈들 사이에 커플 링이 있음을 의미하므로 여러 곳에 장소가 필요할 때 경보 음이 항상 내 머리에서 울립니다. 때로는 피할 수 없지만 일반적으로 여러 곳에서 정말 필요한지 이해하고 싶습니다. 그렇다면 일반적으로 서비스에서 이러한 공유 리소스를 사용하는 것이 종속성을 표현하는 가장 좋은 방법입니다. –

답변

2

Dmytro 노트에서 OSGi API 메소드를 사용하여 모든 번들의 리소스에 액세스 할 수 있습니다. 그러나 더 어려운 질문은 다음과 같습니다. 이러한 리소스에 액세스 할 수있는 번들을 어떻게 알 수 있으며 번들 내의 위치를 ​​어떻게 알 수 있습니까?

대답을 가정하거나 하드 코드하면 번들 간의 결합이 매우 약해지고 번들이 끊어집니다. 그런 다음 누군가가 번들을 응용 프로그램에 배포하지만 자원 번들을 포함하지 않으면 모든 것이 손상됩니다. 이것은 모듈성의 관점을 무너 뜨립니다.

관련 문제