0

Juno で 1 つの RCP アプリケーションを作成しています。

そのアプリでは、次のようなものに基づいてプログラムでパーツを作成していPartDescriptorます。

 MPart part = partService.createPart("discripto.id");
 part.setElementId("element.id");        

そして、Eclipse 4.2.2までは完全に機能していました。

Eclipse Keplerで実行しようとしているときと同じコードで、例外ビューをスローしないのは、制御なしで次のようになります:

ここに画像の説明を入力

ここで何が欠けているのか教えてください。

4

1 に答える 1

1

質問を投稿した直後に回答を見つける:

問題:

@PostConstruct注釈付きメソッドは呼び出されません

解決策: @Inject-able/@PostConstruct メソッドが注入されないのはなぜですか ?

通常、インジェクションが失敗する理由は 2 つあります。

アノテーションの不一致:バンドルで、バンドルのRequire-Bundleではなく、パッケージ バージョンでImport-Packageを使用して標準のアノテーションを取得するようにしてください。javax.annotation

Import-Package: javax.inject;version="1.0.0",javax.annotation; version="1.0.0"

解決できないインジェクション:インジェクターは、コンテキスト内のオブジェクトを解決しようとします。オブジェクトがコンテキストで解決できず@Optional、それが としてマークされていない場合、メソッドは注入されません。インジェクターは、通常、このような状況が発生した場合にログを記録しません。これは予期された出来事であるためです。

私の問題は、最初の問題が原因です。

于 2013-06-28T07:37:12.760 に答える