2016-09-14 4 views
2

私のEclipseプロジェクトで依存関係注入を使用しようとしています。私は、依存関係管理のpomにorg.eclipse.e4.core.diの依存関係を追加しました。eclipseで@Injectを使用できません4

<dependency> 
    <groupId>org.eclipse.e4</groupId> 
    <artifactId>org.eclipse.e4.core.di</artifactId> 
    <version>1.5.0-SDK-4.5.0</version> 
</dependency> 

また、コンパイルスコープで依存性注入を使用しているプラ​​グインでは、この後

<dependency> 
    <groupId>org.eclipse.e4</groupId> 
    <artifactId>org.eclipse.e4.core.di</artifactId> 
    <version>compile</version> 
</dependency> 

私は注釈@Injectを使用しようとすると、私はエラーを見ていると私はまた、任意のインポート提案を見ることができないです。

私はこの問題を引き起こしている何もポンポン

<dependency> 
    <groupId>javax.annotation</groupId> 
    <artifactId>javax.annotation-api</artifactId> 
    <version>1.2</version> 
</dependency> 

に次のものを含む試してみましたか?あなたは、プラグインのMANIFEST.MFRequire-BundleまたはImport-Packageエントリでjavax.injectを含める必要があります私は@Injectを使用するには、Java 8

答えて

2

を使用しています。

MANIFEST.MFエディタでこれを行うには、「依存関係」タブに移動し、「必須プラグイン」または「インポート済みパッケージ」セクションにjavax.injectを追加します。あなたがこれを行った

、あなたのコード内で

import javax.inject.Inject; 

を使用することができるはずです。

注:ContextInjectionFactoryを使用してクラスを作成しない限り、e4 Application.e4xmiのエントリから作成されたクラスのみが注入されます。

+0

ありがとうございます。私はpomにjavax.inject依存関係を組み込み、osgiコマンドを実行しました。これはここで示唆しているものと同じです。したがって、** javax.inject **は、私が元の投稿で述べたプラグインには含まれていませんか? –

+0

いいえ、別のjavax.injectプラグインにあります。様々な注入注釈クラスは、いくつかのプラグインの周りに広がっています。 –

関連する問題