2016-09-06 2 views
1

OSGi를 가지고 놀고 있습니다. 내가 이해하는 한, 번들을 설치하고 시작하려면 이미 종속성을 해결해야합니다. 직접 (그리고 맞지 않는) 의존성을 수동으로 설치하는 것이 힘들 수 있으므로 OBR이 도입되었습니다.OBR 서버 구현

OSGi 프레임 워크 구현으로 Felix를 사용하고 있으며 OBR (구아바 라이브러리)을 통해 내 번들의 dependencys를 자동으로 해결하고 싶습니다. 바로이 이유 때문에 클라이언트에서 org.apache.felix.bundlerepository을 사용하고 있습니다.

서버 측에서해야 할 일에 대해 확신이 없습니다. 나는 무엇을해야하는지에 대한 확실한 정보를 찾을 수 없었다. 나는 Felix가 "OBR 서버"역할을하기 위해 서버에서 쉽게 구성 될 수 있다고 확신하지만 어떻게해야할지 모르겠다. 나 좀 도와 줄 수있어? 코드가 높게 평가 될 것입니다. 당신이 코드를 게시 할 수 없다면 적어도 저장소 (펠릭스 프레임 워크 또는 그러한 기능을 구현하는 다른 소프트웨어에 필요한 번들과 같은)를 성공적으로 설치하기 위해 필요한 일반적인 단계 (또는 링크 자원)를 말해 줄 수 있습니다. 지금

내 설정 :

  • 펠릭스;
  • Eclipse Neon;
  • Maven for eclipse (1.7);

답장을 보내 주셔서 감사합니다.

+0

"서버 측"이란 무엇을 의미합니까? OSGi 인스턴스에 번들을 배포하는 방법이나, Maven 저장소와 같은 의존성을 해결할 때 번들을 가져올 수있는 저장소를 설정하는 방법을 알고 싶습니까? –

+0

내가 불분명하면 죄송합니다. 의존성을 해결하기 위해 OSGi 인스턴스에서 번들을 가져올 수있는 저장소를 설정하고 싶습니다. – Koldar

답변

1

OBR 호환 리포지토리를 제공 할 수있는 Sonartype Nexus 2.13 용 OBR 플러그인이 있습니다. 또한 기존 Maven 저장소를 프록시 처리하는 데 사용할 수도 있습니다.

그러나 자신의 저장소를 설정하기 전에 bndtools과 의존성 해결 방법을 살펴볼 수도 있습니다. 또한 Bndtools를 사용하면 OBR을 명시 적으로 지원하지 않는 기존 Maven 저장소에 의존 할 수 있습니다. 그들의 접근 방식을 설명하는 guide on how to work with Maven가 있습니다.

+0

개발중인 번들로 로컬 Maven 저장소 내 OBR 저장소를 업데이트하기 위해 BND 도구 (특히 maven-bundle-plugin)를 사용하고 있습니다. 하지만 써드 파티 번들 (예 : com.google.guava)은 어떨까요? 나는 소스 코드를 다운로드하고 (가능하다면) maven 프로젝트를 만들고 maven-bundle-plugin을 사용하여 OBR repository.xml 파일을 업데이트하는 것은 어리석은 일이다. 어쩌면 (아마도) 나는 뭔가를 놓치고 있습니다. "다음 번들 x.jar을 OBR 저장소에 추가하십시오."라고 말할 방법이 없습니까? 다시, 내 질문에 불분명하다면 죄송합니다 – Koldar

0

Karaf Cave은 OSGI 번들 저장소를 제공합니다.

+0

펠릭스에서 실행할 수 있습니까? 내가 프레임 워크 구현 자체에 대한 구체적인 구성을 정의 할 수 있습니다 (즉, felix.auto.deploy.dir) – Koldar

+0

그것은 번들의 모음입니다, 그래서 확실히 펠릭스에서 실행할 수 있지만 당신은 Karaf 컨테이너에서 그것을 사용하는 것이 고려해야한다, 더 쉬워 질 것입니다 구성, 관리 및 실행합니다. –

1

OBR 저장소의 "서버 측"은 간단히 번들에 대한 URL 링크를 포함하는 색인 ​​파일로 구성됩니다. 특별한 서버 소프트웨어없이 이것을 제공 할 수 있습니다. 예를 들어, Apache 또는 Nginx HTTP 서버로 충분합니다.

+0

OBR이 하나의 XML 파일로만 구성되어 있다는 것을 알고 있습니다. 개발중인 프로젝트에서 올바른 xml 파일을 생성 할 수있는 도구 (예 : BNDTools 또는 maven-bundle-plugin)가 있음을 알고 있습니다. 그러나 다른 의존성 (예 : 'guava '라이브러리)을 추가해야한다고 가정합니다. 수동으로 이러한 XML을 작성하는 것은 어리석은 일입니다. 자동으로 데이터를 추가하는 데 도움이되는 도구가 있습니까? "OBR repo에 추가하고 싶습니다 .com.google.guava : 19.0'obr-add /home/koldar/com.google.guava.jar. – Koldar

+0

색인을 생성하는 도구는 bindex입니다. repo가 ​​변경 될 때마다 명령 줄 도구로 실행할 수 있습니다. 또는 repo가 ​​변경 될 때마다 자동으로 색인을 생성하도록 파일을 가져 오는 방법이 있지만이 방법에는 몇 가지 추가 기능이 필요합니다. 아마도 서버 측 로직이라고 할 수 있습니다. 아마도 당신은 그것이 작동하기를 원하는 방식을 말할 수 있으며, 그것이 가능할 지 여부와 방법을 알려줄 것입니다. –