在eclipse 4中无法使用@Inject

时间:2016-09-14 12:59:43

标签: java eclipse dependency-injection eclipse-rcp rcp

我正在尝试在我的eclipse项目中使用依赖注入。我在我的依赖管理pom中包含了org.eclipse.e4.core.di的maven依赖。

<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时,我看到错误,我也无法看到任何导入建议。

我已尝试在pom中包含以下内容

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

是什么导致了这个问题?我使用的是Java 8。

1 个答案:

答案 0 :(得分:2)

要使用@Inject,您必须在插件javax.inject的{​​{1}}或Require-Bundle条目中添加Import-Package

要在MANIFEST.MF编辑器中执行此操作,请转到Dependencies选项卡,然后将javax.inject添加到Required Plug-ins或Imported Packages部分。

完成此操作后,您应该可以使用

MANIFEST.MF

代码。

注意:除非使用import javax.inject.Inject; 创建类,否则只会注入从e4 Application.e4xmi中的条目创建的类。