0

在将项目从 2.5RC 设置到 2.5 设置移动到新计算机后,我只是想知道如何修复我的项目以避免此错误。它以前工作过。当然HtmlTemplates在 2.5 客户端库中可能不存在,但我并不为此烦恼,我只想让我的 UI 显示:

11:24:08.060 [ERROR] [myapp] Failed to create an instance of 'org.myapp.client.UI' via deferred binding 

java.lang.RuntimeException: Deferred binding failed for 'org.myapp.client.UIDesktop$Binder' (did you forget to inherit a required module?)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)

...

Caused by: java.lang.NoClassDefFoundError: com/google/gwt/uibinder/rebind/model/HtmlTemplates
at com.google.gwt.uibinder.rebind.UiBinderWriter.<init>(UiBinderWriter.java:181)
at com.google.gwt.uibinder.rebind.UiBinderGenerator.generateOnce(UiBinderGenerator.java:188)

...

Caused by: java.lang.ClassNotFoundException: com.google.gwt.uibinder.rebind.model.HtmlTemplates
at java.net.URLClassLoader$1.run(Unknown Source)

我只有 2.5 个 .jars(不是 2.5RC),而且 .classpath 似乎都指向它们,我尝试清除 gwt-Cache、生成的 .js 文件、运行“清理项目”都无济于事。

4

1 回答 1

3

2.5 中确实没有这样的类,但它早在第一个 2.5 RC 之前就被删除了。它只存在于 2.3 和 2.4 中。

仔细检查您的类路径,您必须引用一些 2.4 或 2.3 gwt-user.jar。要么就是这样,要么你正在使用一些第三方库,这些库基于 GWT 2.4 或 2.3(IIRC,GWT-Platform 为其 2.4 做了这样的事情GinUiBinder);然后它可能会在您的 2.5RC 升级到 2.5 期间出现,因为您更改了类路径中的依赖顺序并将 gwt-user 推送到第三方库之后。

于 2013-02-02T12:35:34.453 回答