我正在尝试在我的 Eclipse 项目中使用依赖注入(inject)。我在我的依赖项管理 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>
而且,在我使用编译范围的依赖注入(inject)的插件中。
<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。
最佳答案
要使用@Inject
,您必须在Require-Bundle
或Import-Package
中包含javax.inject
插件的 MANIFEST.MF
中的条目。
要在 MANIFEST.MF 编辑器中执行此操作,请转到“依赖项”选项卡并将 javax.inject 添加到“所需插件”或“导入的包”部分。
完成此操作后,您应该能够使用
import javax.inject.Inject;
在您的代码中。
注意:除非您使用 ContextInjectionFactory 来创建类,否则只会注入(inject)从 e4 Application.e4xmi 中的条目创建的类。
关于java - 无法在 eclipse 4 中使用@Inject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39491109/