我正在尝试在我的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。
答案 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中的条目创建的类。