2012-08-29 15 views
5

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

答えて

5

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

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

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

そうでなければ、target platformを作成して、すべてのバンドルを追加することができます。 (最初の試みとして、ディレクトリ内のすべてのバンドルをダンプしてターゲットプラットフォームを指定するといいでしょう)

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

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

+0

ああ、PDEでEclipseをインストールする必要がありますが、そのことを忘れてしまいました。 –

3

ビルドにはEclipse Plugin Development Environment (PDE)を使用できます。その名前にもかかわらず、Eclipseプラグインの構築に特有ではなく、純粋なOSGiバンドルでの作業に使用できます。 EclipseプラグインはOSGiバンドルで、いくつかの追加機能があります。

私は一部の企業向けOSGiプラットフォームがPDEの拡張機能を提供していることは知っていますが、実行中またはデバッグ用のパートではお手伝いできません。

1

すでにmavenバンドルプラグインを使用している場合は、PDEのマニフェスト優先アプローチが既存のコードファーストビルドには適していないことがあります(最後にIDEビルドと開発とデバッグ、継続的な統合と自動テストのためのコマンドラインビルドなど)。

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

1

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

関連する問題