2012-03-07 3 views
3

OSGI 선언적 서비스 (SCR)를 사용하여 구성 요소 번들을 만듭니다. 나는 maven-scr-plugin에 의해 생성 된 어노테이션 기반 컴포넌트 XML 파일을 사용하는 것을 원하지 않는다. 나는 component.xml을 직접 작성하고있다. 하지만 MANIFEST 파일에 Service-Component 헤더를 추가해야합니다. osgi 번들을 빌드하기 위해 maven-bundle-plugin을 사용하고 있습니다. 매니페스트 파일에 이러한 헤더를 추가하는 플러그인 구성에서 제공 할 수있는 지침은 무엇입니까?OSGI 선언적 서비스의 번들 매니페스트 파일에 서비스 컴포넌트 헤더를 추가하는 방법은 무엇입니까?

몇 가지 유용한 링크 :

felix-SCR

maven-scr-plugin

BND-Service Component

감사

답변

8

번들 플러그인의 구성에 갈 수 매니페스트 파일에 갈 수있는 모든 헤더 요소로 예를 들어,

<plugin> 
     <groupId>org.apache.felix</groupId> 
     <artifactId>maven-bundle-plugin</artifactId> 
     <version>2.2.0</version> 
     <extensions>true</extensions> 
     <configuration> 
      <instructions> 
       <Bundle-SymbolicName> 
        ${pom.artifactId} 
       </Bundle-SymbolicName> 
       <Service-Component> 
       OSGI-INF/some-file.xml 
       </Service-Component> 
       .... 

<extensions>true</extensions> 라인은 내가 서비스 - 구성 요소는 알려진 헤더의 집합에 포함 된 것으로 판단되지만, 임의의 사용자 정의 헤더를 할 수 있습니다, 그래서 여기에 필요한 아니에요.

+0

+1 그냥 최신 버전은 2.3.7입니다. – earcam

+0

감사합니다. 충분히주의 깊게 보지 않고 복사하고 붙여 넣었습니다. –

+0

maven-bundle-plugin은 서비스 구성 요소가 무엇인지 이해하지 못한다고 생각합니다. 멋지게 작동합니다. – sanre6