【问题标题】:'GinjectorGenerator' threw an exception while rebinding '...ClientGinjector''GinjectorGenerator' 在重新绑定 '...ClientGinjector' 时引发异常
【发布时间】:2012-07-16 15:59:37
【问题描述】:

运行使用 GWT、GWT-Platform 和 App 引擎的 Web 应用程序时出现此错误:

生成器“com.google.gwt.inject.rebind.GinjectorGenerator”抛出了一个 重新绑定“com.myapp.client.gin.ClientGinjector”时出现异常

我的应用程序在 WEB-INF/lib 文件夹中有这些 jar:

guice-3.0.jar  
gin-1.5-post-gwt-2.2.jar
guice-servlet-3.0.jar
gwtp-all-0.7.jar

这是Development Mode的详细错误日志:

[DEBUG] [app] - 验证新编译的单元 [DEBUG] [app] - 重新绑定 com.myapp.client.gin.ClientGinjector [DEBUG] [app] - 调用生成器 com.google.gwt.inject.rebind.GinjectorGenerator
[错误] [app] - 生成器 'com.google.gwt.inject.rebind.GinjectorGenerator' 抛出异常 同时重新绑定'com.myapp.client.gin.ClientGinjector'

[ERROR] [app] - 延迟绑定失败 'com.myapp.client.gin.ClientGinjector';期待后续的失败 [错误] [app] - 未能创建实例 'com.myapp.client.MainAppEntryPoint' 通过延迟绑定

[ERROR] [app] - 无法加载模块入口点类 com.myapp.client.MainAppEntryPoint(请参阅相关的异常 详情)

[ERROR] [app] - 无法从用户代理加载模块“app” 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, 像 Gecko) Chrome/20.0.1132.57 Safari/536.11' 在 127.0.0.1:53782

我一直在试图弄清楚我的应用程序中可能缺少什么,但我仍然找不到解决方法?是什么导致了这种错误?

【问题讨论】:

  • 尝试进行 GWT 编译——有时会产生更好的错误消息。
  • 此外,您可以将编译的 logLevel 更改为调试,以便获得更详细的描述。

标签: google-app-engine gwt guice gwt-gin gwtp


【解决方案1】:

这通常是由于在 gwt 项目的客户端文件夹中添加了不支持 gwt 的类型或导入,例如 java.net.* 等。仅支持 gwt 白名单中支持的 java 类型,并且可以进行序列化。重新绑定错误掩盖了这些错误。因此,梳理您的项目,看看您是否在客户端或共享文件夹中包含这些类型和导入

【讨论】:

  • 当 Eclipse 为不明确的对象生成导入语句时要当心:它会询问您使用哪一个,但如果您选择得太快,您会发现自己使用 jersey.repackaged.com.google.common.base.Objects 而不是 com.google.common.base.Objects。后者是 GWTCompatible 而后者不是!转到首选项,搜索type filters,将jersey.repackaged.* 添加到列表中。我还有com.google.gwt.thirdparty.*com.google.gwt.dev.* 等等。
猜你喜欢
  • 2016-03-18
  • 2020-07-14
  • 2021-10-04
  • 2012-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-12
相关资源
最近更新 更多