GWT从2.5RC升级到2.5 - NoClassDefFoundError HtmlTemplates?

时间:2013-02-02 11:54:00

标签: gwt noclassdeffounderror classnotfoundexception gwt-2.5

我只是想知道如何修复我的项目以避免此错误,因为我将项目从2.5RC设置移动到新计算机到2.5设置。它以前工作过。当然{2.5}客户端库中可能不存在HtmlTemplates,但我并不为此烦恼,我只想让我的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文件,运行"清洁项目"一切都无济于事。

1 个答案:

答案 0 :(得分: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为其GinUiBinder做了这样的事情),用自己的实现来影响一些UiBinder类。它可能会在2.5RC到2.5升级期间显示,因为您更改了类路径中的依赖关系顺序,并在第三方库之后推送了gwt-user。