5

私たちのエンタープライズ アプリケーションのベースは OSGI であり、論理的に OSGI バンドルである Java プロジェクトがいくつかあります。Maven を使用して、Maven Bundle プラグインを使用してアプリケーションをコンパイルします。しかし、このプロセスには時間がかかり、アプリケーションのデバッグが不可能になります。また、アプリケーションを実行するために Runner および Pax(:provison) プラグインも使用します。Eclipse の自動ビルド機能を利用してアプリケーションをデバッグすることができれば、私たちの生活はずっと楽になります。OSGI ベースのアプリケーションをコンパイル (および実行) できるように Eclipse を構成する方法はありますか?

4

4 に答える 4

5

私があなたを理解しているかどうかは完全にはわかりませんが、ここに行きます。

バンドルが PDE 対応プロジェクトにあるか、少なくともターゲット プラットフォーム上にある限り、Eclipse での OSGi アプリケーションの実行/デバッグは非常に簡単です。

すべてのバンドルのソースはありますか? ソースなしでのデバッグはそれほど役に立ちません。その場合、バンドルのすべてのソースを Eclipse ワークスペースにインポートできますか?

それ以外の場合は、ターゲット プラットフォームを作成し、それにすべてのバンドルを追加できます。(最初の試みとして、すべてのバンドルをディレクトリにダンプし、そこにターゲット プラットフォームを指定します)

いずれにしても、実行 (またはデバッグ) -> OSGi フレームワーク -> 新規 -> バンドルを選択 -> 開始できるはずです。

またはターゲット プラットフォームとワークスペースの両方からバンドルを選択できます。

于 2012-08-29T16:27:00.650 に答える
3

ビルドには、 Eclipse プラグイン開発環境 (PDE)を使用できます。その名前にもかかわらず、Eclipse プラグインの構築に固有のものではなく、純粋な OSGi バンドルでの作業に使用できます。Eclipse プラグインは、いくつかの追加機能を備えた OSGi バンドルです。

一部のエンタープライズ指向の OSGi プラットフォームが PDE の拡張機能を提供していることは知っていますが、実行またはデバッグの部分についてはお手伝いできません。

于 2012-08-29T15:46:24.237 に答える
1

すでにMavenバンドルプラグインを使用している場合は、PDEのマニフェストファーストアプローチが既存のコードファーストビルドに適していないことに気付くかもしれません(最終的には、開発とデバッグの両方にIDEビルドが必要だと思います。継続的インテグレーションと自動テストのためのコマンドラインビルド)。

2つの選択肢があります。他の人が示唆しているように、Eclipseの統合PDEを使用し、MavenビルドにTychoを使用できます。TychoはPDEで使用されるのと同じデータを使用するため、複数回書き留める必要はありません。または、Mavenバンドルプラグインを使用して、Eclipse内でbndtoolsを使用することもできます。バンドルプラグインと同様に、bndtoolsはコードファーストであるため、マニフェストの保守について心配する必要はありません。ただし、bndtoolsにはPDEほど大きな機能セットがない場合があります。マニフェストを手動でチェックして、何が生成されているかを理解することをお勧めします。マニフェストファーストとコードファーストのどちらを好むかは、哲学的な議論の一部です。

于 2012-08-30T06:23:45.363 に答える
1

bndtools を見てください。bndtools は、maven バンドル プラグインの基礎となる同じ bnd を使用しています。m2e と一緒に bndtools を使用することもできます。bndtools は、Eclipse マーケット プレイスから入手できます。

于 2012-08-30T06:34:12.593 に答える