2016-09-06 10 views
1

私はOSGiで遊んでいます。私が理解していることで、バンドルをインストールして起動するためには、すでに依存関係を解決しておく必要があります。直接(および間接)依存関係を手動でインストールすることは厄介なことがあるため、OBRが導入されました。OBRサーバーの実装

私はOSGiフレームワークの実装としてFelixを使用しています。私はバンドルの依存関係をOBR(guavaライブラリ)経由で自動的に解決したいと考えています。このため、私はクライアント上でorg.apache.felix.bundlerepositoryを使用しています。

私はサーバー側で何をすべきか不安です。私は何をすべきかについての確固たる情報を見つけることができませんでした。私はFelixが "OBRサーバー"として機能するためにサーバー上で簡単に設定できると確信していますが、どうやってそれを行うのか分かりません。 私を助けてくれますか?コードは高く評価されます。コードを投稿できない場合は、リポジトリを正しくセットアップするために必要な一般的な手順(またはリソースのリンク)を少なくとも教えてください(例えば、felixフレームワークやそのような機能を実装する別のソフトウェアのバンドルなど)。今

マイセットアップ:

  • フェリックス。
  • Eclipse Neon;
  • Maven for eclipse(1.7);

すべての返信ありがとう!

+0

「サーバー側」とはどういう意味ですか?バンドルをOSGiインスタンスにデプロイする方法や、Mavenリポジトリなどの依存関係を解決する際にバンドルを取得できるリポジトリを設定する方法を知りたいですか? –

+0

私が不明な場合は申し訳ありません。依存関係を解決するためにOSGiインスタンスからバンドルをフェッチできるリポジトリをセットアップしたいと思います。 – Koldar

答えて

1

Sonartype Nexus 2.13のOBRプラグインがあり、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ファイルを更新するのは愚かなことです。多分(そしておそらく)私は何かが欠けている。 "私のOBRリポジトリの中に次のバンドルx.jarを追加してください"という言い方はありません。再び、申し訳ありませんが私の質問が不明な場合 – 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リポジトリに追加したいのですが、com.google.guava:19.0 'do'obr-add /home/koldar/com.google.guava.jar」 – Koldar

+0

インデックスを生成するツールはbindexレポの内容が変わるたびにコマンドラインツールとして実行することができます。また、レポが変更されるたびに自動的にインデックスを生成する方法もありますが、追加する必要がありますサーバー側のロジック。おそらく、あなたはどのように*動作するのかを言うことができます。 –