【问题标题】:GWT GIN Provider compile errorGWT GIN Provider 编译错误
【发布时间】:2012-11-17 20:55:29
【问题描述】:

我正在尝试配置我的 GIN 模块以将 ActivityManager 请求绑定到 DefaultActivityManagerProvider

import com.google.inject.Provider;

public class DefaultActivityManagerProvider implements Provider<ActivityManager> {
    @Override
    public ActivityManager get() {
        return new ActivityManager(new MyDefaultActivityMapper());
    }
}

但是当我去实际绑定它时:

public class MyAppGinModule extends AbstractGinModule {
    @Override
    protected void configure() {
        bind(ActivityManager.class).toProvider(DefaultActivityManagerProvider.class);
    }
}

bind(...) 语句出现编译错误:

Bound mismatch: The generic method toProvider(Class<I>) of type
GinLinkedBindingBuilder<T> is not applicable for the arguments
(Class<DefaultActivityManagerProvider>). The inferred type
DefaultActivityManagerProvider is not a valid substitute for the
bounded parameter <I extends Provider<? extends ActivityManager>>

我在这里做错了什么?!? 我已经关注了无数示例,例如this one,但无法弄清楚为什么我会收到错误消息!提前致谢!

【问题讨论】:

  • Guice 和 GWT 是什么版本的?你已经用谷歌搜索了那个错误信息,不是吗?
  • GWT - 2.4, GIN - 2.0, Guice - 3.0 并且是谷歌搜索/初步研究(零结果):-(
  • " 对于有界参数 >" 认为您可能会遗漏部分错误消息 - 它应该指定期望边界适合的类型。 (编辑:我打赌“通用方法 toProvider(Class)”也应该有一些泛型)
  • 很好 @Colin - 我认为 StackOverflow 正在解析一些通用的东西,因为我将编译错误添加为块引号(带有前导 "> " 而不是代码块(带有前导四倍缩进“”)。我更新了编译错误并验证它与 Eclipse 显示的内容相匹配。再次感谢!
  • 关于“同一个 ActivityManager”的评论试图确保您没有绑定 com.a.ActivityManager,而是要求注入 org.b.ActivityManager - 因为它们不匹配,Guice(实际上, Java)认为你在说疯​​话。由于您列出的唯一importProvider,因此我们无法判断这是否正确。

标签: java gwt guice gwt-gin


【解决方案1】:

toProvider 没有得到适当的支持

http://code.google.com/p/google-gin/wiki/GinFaq

http://code.google.com/p/google-gin/wiki/GuiceCompatibility

提供者需要是公共静态的

static class DefaultActivityManagerProvider implements Provider<ActivityManager> {
    @Override
    public ActivityManager get() {
        return new ActivityManager(new MyDefaultActivityMapper());
    }
}

【讨论】:

    猜你喜欢
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    相关资源
    最近更新 更多