使用GWT和Guice的杜松子酒问题。 - java.lang.RuntimeException:延迟绑定失败

时间:2011-06-01 11:04:33

标签: gwt guice gin

使用Gin时遇到问题。这是一个简单的例子。

@GinModules(AppModule.class)
public interface AppInjector extends Ginjector
{
  MainForm getMainPanel();
  TemplateForm getHeaderForm();
}

然后这是模块

import com.google.inject.Singleton;
    public class AppModule extends AbstractGinModule
    {
    @Override
    protected void configure()
    {
      bind(MainForm.class).in(Singleton.class);
    }
    }

和入口点

public class MySampleApplication implements EntryPoint

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

public void onModuleLoad()
{
  MainForm mf = injector.getMainPanel();
  RootPanel.get().add(mf);
}
}

模块xml文件

<module rename-to="MySampleApplication">

    <!-- Inherit the core Web Toolkit stuff.                  -->
    <inherits name='com.google.gwt.user.User'/>

    <!-- Specify the app entry point class.                   -->
    <entry-point class='com.mySampleApplication.client.MySampleApplication'/>

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

    <!-- Specify the app servlets.                   -->
    <servlet path='/MySampleApplicationService' class='com.mySampleApplication.server.MySampleApplicationServiceImpl'/>

</module>

运行此代码后,我得到了一个例外:

错误:无法通过延迟绑定创建“com.mySampleApplication.client.MySampleApplication”的实例。 java.lang.RuntimeException:'com.mySampleApplication.client.gin.AppInjector'的延迟绑定失败(您是否忘记继承所需的模块?)。

我尝试使用gin 1.0和guice 2.0。

请,建议。

感谢。

1 个答案:

答案 0 :(得分:1)

@GinModules(AppClientModule.class)

应该是

@GinModules(AppModule.class)

<强>更新

错误在线声明AppInjector。它应该是:

interface AppInjector extends Ginjector {