3

Virgoのような OSGi コンテナーで実行したいアプリケーションの作業を開始しようとしています。Virgo のコア プラットフォームは、Spring Framework など、私が興味を持っている依存関係の多くを提供しますが、Spring Integration も使用したいと考えています。Spring Integration の jar は、すぐに使える OSGi バンドルであり、Ivy リポジトリ内の他の多くのサードパーティの依存関係と共に利用できます。

バンドルが Spring Integration などに依存していることを OSGi コンテナーに伝えるには、関連するパッケージまたはバンドルをマニフェストに追加する必要があります。これを行う方法と、その仕組みを理解しています。

私が理解したいのは、ある種のリポジトリ (できれば Ivy) で利用可能なサードパーティのバンドルに対して開発、解決、ビルド、および最終的に展開する方法です。過去には、次の 2 つの方法でこれを実現しました。

  1. 依存関係をターゲット プラットフォーム (この場合は Virgo ext リポジトリ) に追加します。
  2. ワークスペースに依存関係のコピーを保持し、ビルドの一部としてエクスポートします

これらのソリューションはどちらもスケーラブルではなく、特に洗練されているようにも見えません。

Virgo 3.0.0 または Equinox の使用に興味があり、私の開発環境は Eclipse です。別の OSGi コンテナーまたは開発環境が私の​​生活を楽にしてくれるなら、喜んで切り替えます。

これを明確にするために、私は知りたいです:

  1. 外部リポジトリの OSGi バンドルに対して開発するにはどうすればよいですか (例: バンドルは Ivy に存在します)。
  2. 必要な外部依存関係と共にバンドルをビルドしてデプロイするにはどうすればよいですか?
4

2 に答える 2

4

Virgo ユーザー ガイドの「ローカル プロビジョニング リポジトリの構成」で説明されているように、Ivy リポジトリのローカル コピーを指すように外部の Virgo リポジトリを定義できます。このリポジトリは、Eclipse から Virgo を起動するときにも使用できます。

Virgo 3.5 の p2 統合に取り組んでおり、これによりさらにいくつかのオプションが提供されることに注意してください。

于 2011-09-28T06:58:18.453 に答える
0

実装固有のAFAIK。Equinox を使用している場合、p2は探しているプロビジョニング システムです。他の実装には、同様の機能を実現するための独自のメソッド/ツールがあると思います。

于 2011-09-27T20:38:11.897 に答える