2016-12-08 22 views

答えて

1

実行可能なJARを作成する必要があります。このJARには、フレームワークであるOSGiのランチャーが含まれており、モジュールの場所を知ることができます。

Bndtoolsには、この目的のためのエクスポートタスクがあります。 bndrunファイルを作成し、初期要件を追加して解決してからエクスポートする必要があります。 Gradleで自動化することもできます。

OSGiアプリケーションを実行可能なJARとして構築する方法については、OSGi enRoute Quick Startチュートリアルを参照してください。

+0

bndrunとは何ですか、なぜそれが必要ですか? –

+0

bndrunファイルは、ランタイムを記述します。使用したいフレームワーク、バンドル、ライブラリ、プロパティ、設定など。クイックサートのチュートリアルに従えば、あなたには明らかになるはずです。 –

3

単にバンドルを単独で実行することはできません。バンドルは、OSGiフレームワーク内で実行する必要があります。たとえば、Apache felixをダウンロードしてバンドルをfelixディレクトリに置くことで、バンドルをロードしてロードすることができます。この場合、felixを起動すると、felixはバンドルをロードします。

Peterが提案しているのは、bndrunファイルにバンドルとその他の設定のセットを定義し、OSGiフレームワークとバンドルを含むfat jarファイルを作成することです。素晴らしいことは、bnd(tools)がこれを専門的に行うための素晴らしいツールを提供することです。

したがって、最初のソリューションを使用して起動して実行する方が高速ですが、手動で作業する必要があります。 bndtoolsのアプローチは、おそらくあなたが長期的に持っていたいものですmavenのビルドでパッケージングを完全に自動化することができます。

これはmavenのためにこれを示すsample projectを作成しました(私はあなたが目標のディレクトリを言及すると、あなたはmavenを使うと思います)。

関連する問題