2012-03-27 11 views
0

実行時にサービスインタフェースを追加するには、org.osgi.framework.system.packages.extraプロパティを使用する必要があります。これらのインタフェースは、OSGiバンドルによって実装されます。 PDEが必要なインタフェースを見つけることができないため、これらのバンドルをコンパイルできません。 PDEにこれらのインタフェースを探す場所を教える方法はありますか?PDE + org.osgi.framework.system.packages.extra

編集: まあ、私は私がより正確でなければならないと思います。私はOSGiを既存のJavaアプリケーションに統合しようとしています。 OSGiバンドルと通信するためのJavaアプリケーションを有効にするために、私は、OSGiサービスを使用します。 Javaアプリケーションは、OSGiサービスのインタフェースを定義します。サービスは、任意のOSGiバンドルに実装されています。私は、実行時にorg.osgi.framework.system.packages.extraプロパティを使用してOSGiバンドルへのインターフェイスの定義を提供します。だから私はランタイムの問題はありません。 PDEは、コンパイル時に依存関係の解決のためのorg.osgi.framework.system.packages.extraオプションを持っているかいないようですので、私は、コンパイル時の問題を抱えています。私のインターフェースはバンドルではなくJavaプロジェクトで定義されているので、ターゲットプラットフォームを操作することは役に立たないようです。

答えて

0

[ウィンドウ] - > [環境設定] - > [プラグイン開発] - > [ターゲットプラットフォーム]で、バンドルのコンパイル対象となるターゲット定義があります。インタフェースを含むバンドルは、アクティブなターゲット定義内にある必要があります。デフォルトでは、Eclipseインストールフォルダを指し示し、プラグインフォルダからバンドルを取得しますが、特定のバンドルに対してビルドする場合は、独自のターゲット定義を作成できます。

+0

は、私が見、編集....... –

+0

ああを参照してください。それをプロジェクトプロパティ - > Javaビルドパス - >プロジェクトタブに追加することはできませんか? –

+0

はい、それは私の現在のソリューションです。しかし、これは良い解決策ではありません。なぜなら、マニフェストエディタの「クラスパス設定を更新する」をクリックすると、すべての設定が失われるからです。だから私は、他の設定可能性があることを望んだ。 –

関連する問題