2

OSGi アプリケーションにいくつかのバンドルを自動的にインストールする方法を探しています。理想的には、ビルド プロセスに組み込むことができるように、ある種のバッチ ファイル/コンソール スクリプトを使用します。

理想的な状況では、更新サイトの URL をコンソールに渡し、ダウンロードしてインストールするだけで、jar を 1 つずつインストールする必要がなくなります。

これは可能ですか?私が話しているアプリケーションは Eclipse ではありませんが、bundles ディレクトリにいくつかの Eclipse プラグイン jar が含まれていることに注意してください。完全にはわかりませんが、この事実は、状況に対するアプローチが少し異なることを意味している可能性があると思います。

現時点では、私はアプリケーションの OSGi コンソール (p2) を制御しているので、私が読んだことから、使用するのに適切なツールであると思います。

ありがとう

4

1 に答える 1

4

これにはいくつかの方法があります(すでに言及した p2 を使用する以外に):

  1. URL からバンドルをインストールするコマンドを含む Apache Felix Gogo シェルを使用し、起動時に実行されるスクリプトを作成します。
  2. Apache Felix ファイル インストール バンドルを使用すると、すべてのバンドルを「ホット デプロイ」フォルダに配置して自動的にインストールできます。
  3. アーティファクトをターゲット システムにマップできる本格的なプロビジョニング ソリューションである Apache ACE を使用します。
  4. Bnd フィーチャーを使用して、OSGi フレームワークとすべてのバンドルの両方を組み込み、jar の開始時にそれらを起動する実行可能 jar を作成します。
  5. Apache Karaf 機能を使用すると、URL のリストを機能として定義し、その機能をインストールできます (#1 と同様にシェルを使用)。

それぞれについて言いたいことがたくさんありますが、これらは私が知っている中で最もよく使われるオプションです。

于 2013-06-11T07:32:36.920 に答える