0

まず、私は OSGi/Maven の初心者であり、これらのツールを効率的に使用する方法を研究しています (当面は、OSGi の実装として Felix を使用する予定です)。

多くのバンドルに基づいてプロジェクトを作成したいと考えています。もちろん、バンドルの 1 つ (または多数) を変更するたびに、「手動で」再デプロイしたくありません。

私がやりたいことは次のようなものです:

mvn buildMyOsgiDistrib
mvn runMyOsgiDistrib

あなたは私に何を提案しますか?ありがとう

4

2 に答える 2

2

そこにたどり着くには2つのオプションがあります。

次のいずれかを実行できます。

Apache Karaf を使用してカスタム ディストリビューションを作成する

1 つのプロジェクトで karaf 機能ファイルを作成し、karaf-maven-plugin を使用してカスタム karaf ディストリビューションを作成します。

この例https://github.com/cschneider/decanter-docker/blob/master/decanter-server/pom.xmlを参照してください。

bndtools を使用してアプリケーションを組み立てます。

この場合、依存関係で pom を作成し、bnd-indexer-plugin を使用してそこから OBR インデックスを作成します。

次に、スタンドアロン モードで bndrun ファイルを使用して最上位の依存関係を定義し、上記で作成したリポジトリに対してリゾルバーに解決させることができます。

通常は bndtools UI で実行される解決とエクスポートのステップを自動化する Maven プラグインを作成しました。このプラグインは、次の bnd リリースの一部になる可能性があります。

osgi-chatの例を参照してください。

karaf の変種は、以前から存在するため、より証明されていますが、karaf は単純なフェリックスではありません。karaf の利点は、典型的な大規模プロジェクト向けの多くの機能を備えていることです。したがって、これを機能させる方が簡単です。

bndtools バリアントは、maven のサポートを開始したばかりであるため、確立されていません。また、インデックスの pom にすべての依存関係を自分で含める必要があります。肯定的な側面は、非常に小さなデプロイ可能ファイルを作成し、リゾルバーが依存関係を正しくするのに大いに役立つことです。

于 2016-07-17T07:17:29.417 に答える