OSGi 단편

OSGi 단편은 지정된 호스트 번들 또는 지정된 호스트 번들에 첨부하여 작동할 수 있게 하는 특정 Manifest 헤더를 포함하는 Java™ 아카이브 파일입니다. 단편은 호스트 번들의 일부로 처리됩니다. 단편의 관련 정의는 정보가 충돌하지 않는 경우 호스트를 분석하기 전에 호스트 번들 정의와 병합됩니다. 가능한 경우 단편 종속성이 해결됩니다. 단편 종속성을 해결할 수 없으면 단편은 호스트 번들에 첨부하지 않습니다. 단편은 고유한 클래스 로더 또는 번들 액티베이터를 보유할 수 없습니다. 호스트 번들에 표시되는 정보는 대체할 수 없습니다. 단편은 자원, 클래스, 허용된 헤더로 번들을 확장하며, 이를 통해 사용자가 번들을 사용자 정의할 수 있습니다.

OSGi 단편 Manifest 파일

OSGi 단편 JAR 파일은 단편 Manifest 파일을 포함합니다. 이 파일은 OSGi 프레임워크가 하나 이상의 호스트 번들에 단편을 첨부하도록 허용하는 메타데이터를 포함합니다.

다음 코드는 번들 Manifest 파일, META-INF/MANIFEST.MF의 컨텐츠에 대한 예제입니다.
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Fragment
Bundle-SymbolicName: Fragment
Bundle-Version: 1.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Fragment-Host: WebBundle;bundle-version=1.0.0.qualifier
Import-Package: org.apache.commons.logging;version="1.0.4"
Export-Package: com.sample.myservice.api;version="1.0.0"
이 Manifest 파일에서 메타데이터는 다음과 같은 핵심 특성을 포함합니다.
Fragment-Host
잠재적 번들 호스트에 단편을 링크합니다.
Bundle-Version
단편의 버전을 설명하고 번들의 여러 버전을 동일한 프레임워크 인스턴스에서 동시에 활성화할 수 있게 합니다.
Bundle-Name
단편의 판독 가능한 이름을 제공합니다.
Bundle-SymbolicName
프레임워크에서 단편을 고유하게 식별합니다. Bundle-Name 헤더가 필요한 상황을 대체하지는 않습니다.
Import-Package
단편 분석을 위해 OSGi 프레임워크에서 사용하는 단편의 외부 종속성을 선언합니다. 각 패키지의 특정 버전 또는 버전 범위를 선언할 수 있습니다. 이 예제 Manifest 파일에서는 버전 1.0.4 이상의 org.apache.commons.logging 패키지가 필요합니다.
이 특성을 사용하여 런타임에서 단편을 가져오려는 패키지 이름을 지정하십시오. 이 특성에서 번들에 필요한 패키지를 지정하지 않으면 번들을 로드할 때 NoClassDefFound 예외 및 컴파일 오류가 발생할 수 있습니다.
참고: 또한 패키지를 포함하는 번들의 Export-Package 특성에서 이 패키지를 지정해야 합니다.
제한사항: 번들 Manifest 파일이 작업공간 또는 대상 플랫폼에 없는 번들의 번들 종속 항목을 선언하기 위해 Import-Package 특성을 사용하는 경우 편집기는 이 종속 항목을 오류로 표시합니다. 이 제한사항을 임시로 해결하려면 종속 항목으로 선언하는 모든 번들이 작업공간에 있는지를 확인하거나 빠른 수정사항을 사용하여 대상 플랫폼에 번들을 추가하십시오. 빠른 수정사항을 사용하려면 마커 보기로 전환한 다음 오류 마커를 마우스 오른쪽 단추로 클릭하고 빠른 수정사항을 선택하십시오.
중요사항: MANIFEST.MF 파일에서 번들 종속 항목을 지정할 때 Require-bundle 대신에 특성 Import-Package를 사용하십시오. 번들 종속 항목을 지정하기 위해 Require-bundle을 사용하는 경우 애플리케이션은 배치되지 않습니다.
Import-Package는 종속 항목을 선언하기 위한 더 유연한 방법입니다.
  • 번들에서 요구되지는 않지만 종속 번들에는 포함되는 불필요한 종속 항목은 패키지에 추가하지 않기 때문에 이 방법에서는 기능이 시작된 번들에서가 아닌 사용자에게 필요한 기능에서 종속 항목을 선언할 수 있습니다.
  • 선언된 패키지에 대해 버전 또는 버전 번호를 지정할 수 있기 때문에 다른 버전의 번들에서 변경이 있을 경우 대응할 필요가 없습니다.
Export-Package
단편 외부에서 볼 수 있는 패키지를 선언합니다. 여기에 선언되지 않은 패키지는 단편에서만 볼 수 있습니다.
이 특성을 사용하여 런타임에 단편을 내보내려는 패키지 이름을 지정하십시오. 이 특성의 다른 번들에 필요한 패키지를 지정하지 않는 경우 종속 번들이 해결되지 않을 수도 있습니다.
주제 유형을 표시하는 아이콘 개념 주제
Information Center의 이용 약관 | 피드백

시간소인 아이콘 마지막 업데이트 날짜: 2014-05-22

파일 이름: cbundlefragment.html