java - Eclipse - Google Guice

标签 java eclipse dependency-injection eclipse-plugin guice

我一直在尝试使用Google Guice进行eclipse插件开发。我已经导入 Guice jar 作为另一个插件项目。但不知何故 Guice 无法注入(inject)依赖。

有什么想法吗???

这是错误消息

com.google.inject.ConfigurationException: Guice configuration errors:

1) No implementation for java.util.List<java.lang.String> was bound.
  while locating java.util.List<java.lang.String>
    for parameter 1 at com.checker.extension.provider.util.PluginUtils.<init>(Unknown Source)
  while locating com.checker.extension.provider.util.PluginUtils

1 error

编辑1

我想提一下的一件事是,当我使用普通Java应用程序时,配置工作正常,但当我使用插件项目时,配置工作不正确

编辑2 下面是我正在使用的代码

@Override
    protected void configure() {

        bind(List.class).toInstance(DIObjects.buildFolderNames);
    }

这里DIObjects.buildFolderNames是我需要注入(inject)的静态字段。 DIObjects.buildFolderNames 定义如下。

public static List<String> buildFolderNames;

我已经初始化了这个字段。

问题是因为eclipse和Guice的类加载器不同吗???

最佳答案

您需要使用 TypeLiteral执行这样的绑定(bind),例如:

bind(new TypeLiteral<List<String>>(){}).toInstance(new ArrayList<String>());

有关绑定(bind)的更多信息,请访问 here .

关于java - Eclipse - Google Guice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3476295/

相关文章:

java - 我想在 java applet 中使用 Robot 类来让网络浏览器移动并单击鼠标

java - 在 Eclipse 或 PyCharm 中将 java 包导入到 jython 项目中

java - 动态依赖关系

java - 在 Eclipse 中使用 Gradle 构建路径中的其他项目

java - "Verify EAR Libraries"链接资源错误

authentication - TestBenchTestCase 中的依赖注入(inject)

c# - 与 SOLID 和依赖注入(inject)混淆

java - 哪些类(class)成员应该有保护修饰符?

java - Java 9 集合工厂的使用

Java数组 - 初始化数组上的越界异常