Virgoのような OSGi コンテナーで実行したいアプリケーションの作業を開始しようとしています。Virgo のコア プラットフォームは、Spring Framework など、私が興味を持っている依存関係の多くを提供しますが、Spring Integration も使用したいと考えています。Spring Integration の jar は、すぐに使える OSGi バンドルであり、Ivy リポジトリ内の他の多くのサードパーティの依存関係と共に利用できます。
バンドルが Spring Integration などに依存していることを OSGi コンテナーに伝えるには、関連するパッケージまたはバンドルをマニフェストに追加する必要があります。これを行う方法と、その仕組みを理解しています。
私が理解したいのは、ある種のリポジトリ (できれば Ivy) で利用可能なサードパーティのバンドルに対して開発、解決、ビルド、および最終的に展開する方法です。過去には、次の 2 つの方法でこれを実現しました。
- 依存関係をターゲット プラットフォーム (この場合は Virgo ext リポジトリ) に追加します。
- ワークスペースに依存関係のコピーを保持し、ビルドの一部としてエクスポートします
これらのソリューションはどちらもスケーラブルではなく、特に洗練されているようにも見えません。
Virgo 3.0.0 または Equinox の使用に興味があり、私の開発環境は Eclipse です。別の OSGi コンテナーまたは開発環境が私の生活を楽にしてくれるなら、喜んで切り替えます。
これを明確にするために、私は知りたいです:
- 外部リポジトリの OSGi バンドルに対して開発するにはどうすればよいですか (例: バンドルは Ivy に存在します)。
- 必要な外部依存関係と共にバンドルをビルドしてデプロイするにはどうすればよいですか?