2013-06-11 4 views
1

OSGi 응용 프로그램에 몇 가지 번들을 자동으로 설치하는 방법을 찾고 있습니다. 일종의 배치 파일/콘솔 스크립트가 이상적입니다. 프로세스를 빌드합니다.OSGi와 함께 자동으로 번들 두 개 설치

이상적인 상황에서는 콘솔에 업데이트 사이트 URL을 전달하고 하나씩 항아리를 설치하지 않아도되므로 다운로드 할 수 있습니다.

이것이 가능합니까? 내가 말하고있는 응용 프로그램이 이 아니라 Eclipse가 번들 디렉토리에 Eclipse Plugin Jar를 몇 개 포함하고 있지만 Eclipse가 아니라는 점에 유의하십시오. 나는이 사실이 상황에 약간 다른 접근법을 암시 할 수 있다고 생각하지만 완전히 확신하지는 못합니다.

현재 내가 응용 프로그램의 OSGi 콘솔 (p2)을 제어하고 있기 때문에 내가 읽은 바로 그 도구를 사용하는 것이 옳은 것 같아요.

감사

답변

3

(떨어져 이미 언급 P2를 사용에서) 이것에 대해 이동하는 방법은 여러 가지가 있습니다

  1. 를 사용하여 URL에서 번들을 설치하는 명령이 있습니다 아파치 펠릭스 고고 쉘, 시작할 때 실행되는 스크립트를 만듭니다.
  2. Apache Felix 파일 설치 번들을 사용하면 모든 번들을 "빠른 배포"폴더에 넣고 자동으로 설치할 수 있습니다.
  3. Apache ACE는 아티팩트를 대상 시스템에 매핑 할 수있는 완전한 제공 솔루션입니다.
  4. Bnd 기능을 사용하여 OSGi 프레임 워크와 모든 번들을 포함하는 실행 가능한 jar를 만들고 jar를 시작할 때 시작합니다.
  5. Apache Karaf 기능을 사용하면 URL 목록을 기능으로 정의하고 해당 기능을 설치할 수 있습니다 (# 1과 유사한 쉘 사용).

각각에 대해 더 많은 이야기가 있지만, 가장 잘 알고있는 옵션입니다.

+0

안녕하세요. "번들 설치"와 "업데이트 사이트에서 설치"사이에 개념적인 차이가 있는지 이해하려고합니다. 거기 있니? 나는 그게 사실이라는 모호한 인상을 받았다. 질문에 대한 긍정적 인 대답이 있으면, 내가 찾고있는 것은 업데이트 사이트에서 설치하고 개별 번들을 설치하지 않는 것입니다. 각각의 업데이트 사이트에는 번들이 많이 포함되어 있으며 가능한 경우 개별적으로 설치하지 않아도됩니다. –

+0

OSGi에는 "번들 설치"라는 개념 만 있습니다. 맨 위에 사용하는 코드가 무엇이든 결국 BundleContext의 installBundle (..) 메소드를 호출합니다. –

+0

그건 내가 생각한거야. 따라서 나는 OSGi 솔루션이 아니라 Eclipse 솔루션을 사용하여 번들 전체를 수동으로 설치해야하는 번거 로움을 피할 수 있다고 생각합니다. –