2013-06-18 3 views
2

OSGi를 사용하여 번들간에 POJO 인스턴스를 공유하는 서비스 종속성을 관리 할 수 ​​있다는 것을 알고 있습니다.OSGi를 사용하여 패키지 종속성을 쉽게 관리 할 수 ​​있습니까?

ProjectA/src/com/example/awesome/A.java :

package com.example.awesome; 
public class A {} 

ProjectB/src/com/example/awesome/web/B.java :하지만 난 내 다른 도서관 A.jar의 클래스에 컴파일 시간 의존성 라이브러리 B.jar이 있다고

package com.example.awesome.web; 
import com.example.awesome; 
public class B extends A {} 

합니까은 OSGi 한 내장 선언 런타임에이 종속성을 강제하는 방법은?

답변

3

예, Export-PackageImport-Package 매니페스트 헤더를 사용합니다.

자동 빌드 시스템을 사용하는 경우 관계를 감지하여이 헤더를 추가 할 수 있습니다. Maven과 Gradle은 모두 bnd을 사용하여 필요한 매니페스트 헤더를 생성합니다. bnd 통합은 maven-bundle-plugin과 Gradle OSGi plugin에 의해 제공됩니다.

+3

Maven에는 maven-bundle-plugin이 있습니다. – blank

+0

최근 수정 사항을 자세히 작성하고 싶다면 편집을 제안하고 Maven을 사용한 경험은 매우 제한적입니다. –

+0

아, 잠깐만, 동료 리뷰를 건너 뛰기에 충분한 담당자가 있습니다. 그럼, 원하면 편집 해주십시오. :) –

관련 문제