首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse - Google Guice

Eclipse - Google Guice
EN

Stack Overflow用户
提问于 2010-08-13 11:22:34
回答 4查看 4.2K关注 0票数 2

我一直试图在eclipse插件开发中使用Google。我将Guice jar作为另一个插件项目导入。但不知何故,Guice无法注入依赖性。

有什么主意吗??

这是错误消息

代码语言:javascript
复制
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

EDIT1

我想提到的一件事是,当我使用普通应用程序时,配置工作正常,但当我使用插件项目时,它就不能正常工作了。

下面的EDIT2是我正在使用的代码

代码语言:javascript
复制
@Override
    protected void configure() {

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

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

代码语言:javascript
复制
public static List<String> buildFolderNames;

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

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-13 14:33:28

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

代码语言:javascript
复制
bind(new TypeLiteral<List<String>>(){}).toInstance(new ArrayList<String>());

有关绑定的更多信息可以获得这里

票数 9
EN

Stack Overflow用户

发布于 2010-08-13 11:33:46

在我看来,这是一个配置/注释问题(乍一看)。根据这篇文章,您必须对List进行注释,以指定要注入的列表类型。

如果绑定在代码中是正确的,请确保包含绑定/注释类的包在插件配置中正确地导出和声明。也许Guice只是看不见绑定。

票数 2
EN

Stack Overflow用户

发布于 2010-08-24 23:15:56

为我工作。但是我做了一些不同的事情--我去了SpringSource企业束库,下载了他们的Guice2.0包及其唯一的依赖项,AOP联盟API 1.0.0包。然后,我将插件中的依赖项添加到Guice包中。我创建了一个与您类似的静态成员变量,初始化为一个简短的字符串列表,并将其绑定到List;然后,在TableViewer中创建一个内容提供者,该提供程序获取注入器并调用getInstance(List.class),将返回值转换为数组并返回它。结果:我的字符串在表中可见。

以下是这两个包的页面链接。每个页面上都有指向二进制和源jars的链接。获取任何一个;将它们导入您的工作区;从包中添加一个依赖项到Guice包中;这应该可以做到这一点。

http://www.springsource.com/repository/app/bundle/version/detail?name=com.springsource.com.google.inject&version=2.0.0&searchType=bundlesByName&searchQuery=guice

http://www.springsource.com/repository/app/bundle/version/detail?name=com.springsource.org.aopalliance&version=1.0.0

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3476295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档