【问题标题】:Deferred binding failed延迟绑定失败
【发布时间】:2012-05-12 06:43:20
【问题描述】:

我的应用程序正在抛出:

java.lang.RuntimeException: Deferred binding failed for 'com.mygwtapp.client.gin.ClientAppGinjector' (did you forget to inherit a required module?)

关于入口点内的这段代码:

private final ClientAppGinjector injector = GWT.create(ClientAppGinjector.class);

可能是什么问题?

这是完整的错误日志:

java.lang.RuntimeException: Deferred binding failed for 'com.mygwtapp.client.gin.ClientAppGinjector' (did you forget to inherit a required module?)
    at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)
    at com.google.gwt.core.client.GWT.create(GWT.java:97)
    at com.mygwtapp.client.MainEntryPoint.<init>(MainEntryPoint.java:79)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:465)
    at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:375)
    at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
    at java.lang.Thread.run(Thread.java:722)

【问题讨论】:

  • 发布完整的错误日志,这样的错误通常有更早的根源。

标签: gwt dependency-injection guice gwt-gin


【解决方案1】:

我遇到了同样的问题。我的布尔对象的 getter 方法称为 getBooleanObject() 而不是 isBooleanObject()JsonEncoderDecoder 类查找名为 isBooleanObject() 的方法,没有找到,编译失败。 (gwt 2.8.0)

【讨论】:

    【解决方案2】:

    我在运行时收到了相同的错误消息。当我尝试“Google > GWT Compile”时,堆栈跟踪对我的帮助更好。我的问题是服务接口使用了一个不可可序列化的类。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题,我解决了 lom 添加以下库:

      • javax.inject.jar
      • guice-assistedinject-3.0.jar
      • aopalliance.jar

      【讨论】:

        【解决方案4】:

        在您的“.gwt.xml”文件中,添加以下行:

        <inherits name="com.google.gwt.inject.Inject"/>
        

        【讨论】:

        • 我在 gwt.xml 上有这个继承
        • @xybrek:当然,可能有几个原因(我认为您不久前已经遇到过类似的问题stackoverflow.com/q/6555062/291741 ;-) 我建议您先尝试一下您的设置是否适用于官方GIN samples .如果没有,请检查库(有 gin-1.5-post-gwt-2.2.jar 和 gin-1.5-pre-gwt-2.2.jar,确保使用正确的)。
        • 是的,但我需要使用 GWT 2.4.0,Gin 罐子来自 maven,版本为:1.5.0
        • 我不知道如何知道哪个 gin-1.5 jar 是从 maven 获取的
        • 我手动添加了 gin-1.5-post-gwt-2.2.jar,现在我收到此错误:com.google.gwt.core.ext.UnableToCompleteException:(请参阅之前的日志条目) com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:503)
        猜你喜欢
        • 2013-08-06
        • 2013-08-09
        • 2014-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-23
        • 2011-03-22
        相关资源
        最近更新 更多