自定义类的GWT延迟绑定失败:在urn:import中没有匹配"..."的类:

Mar*_* A. 5 gwt class matching uibinder

我正在开发一些我希望能够与UiBinder一起使用的自定义小部件.不幸的是,我继续浪费我的生命,追逐以下错误:

在urn中没有匹配"..."的类:import:...

这似乎是在类中有任何阻止GWT编译器处理它的错误时抛出的全部异常.这包括类的整个依赖关系树中的任何内容.

为了节省我自己和遇到同一问题的任何人一些时间和痛苦,让我们在这里列出一个最意想不到的,很难找到原因的列表.我将从我的最新版开始,这让我决定在这里发布.

Mar*_* A. 1

我编写了一个帮助器类,该小部件在其依赖树深处的某个地方使用它。

对于这个帮助程序类,我告诉 Eclipse 自动生成hashCode()equals(...)函数。该类包含一个类型字段double,Eclipse 生成使用该字段的代码Double.doubleToLongBits()

事实证明,GWT 并未在其Double. 当然,Eclipse 不会将此检测为可能的编译错误,如果我在 GWT-App 的 Java 代码中而不是在 UiBinder 中使用该小部件,也不会在开发模式下导致任何问题。

3 个小时就这样白费了……太棒了……感谢有用的错误消息。

更新:

从 GWT 2.5.0 (RC1) 开始,GWT 现在支持Double.doubleToLongBits()使此特定错误过时,但缺少 JRE 模拟的一般错误机制仍然存在,并且可能会以类似无益的方式表现出来。