Class 自定义类的GWT延迟绑定失败:没有匹配的类“&引用;在urn中:导入:
我正在开发两个自定义小部件,希望能够与UiBinder一起使用。不幸的是,我一直在为以下错误而浪费生命: urn:导入中没有与“…”匹配的类: 这似乎是当类中出现阻止GWT编译器处理它的任何错误时抛出的catch all异常。这包括类的整个依赖关系树中的任何内容Class 自定义类的GWT延迟绑定失败:没有匹配的类“&引用;在urn中:导入:,class,gwt,matching,uibinder,Class,Gwt,Matching,Uibinder,我正在开发两个自定义小部件,希望能够与UiBinder一起使用。不幸的是,我一直在为以下错误而浪费生命: urn:导入中没有与“…”匹配的类: 这似乎是当类中出现阻止GWT编译器处理它的任何错误时抛出的catch all异常。这包括类的整个依赖关系树中的任何内容 为了节省我自己和你们中任何一个遇到同样问题的人一些时间和痛苦,让我们在这里列出最意想不到和最难找到的原因。我将从我最新的一个开始,这使我决定在这里发布它。我编写了一个助手类,这个小部件在其依赖关系树的深处使用它 对于这个助手类,我告诉E
为了节省我自己和你们中任何一个遇到同样问题的人一些时间和痛苦,让我们在这里列出最意想不到和最难找到的原因。我将从我最新的一个开始,这使我决定在这里发布它。我编写了一个助手类,这个小部件在其依赖关系树的深处使用它 对于这个助手类,我告诉Eclipse自动生成
hashCode()
和equals(…)
函数。该类包含一个类型为double
的字段,Eclipse为该字段生成使用double.doubleToLongBits()
的代码
原来GWT在其版本的Double
上没有实现此方法。但当然,如果我在GWT应用程序的Java代码中使用小部件而不是在UiBinder中使用小部件,Eclipse既不会将其检测为可能的编译错误,也不会在开发模式下导致任何问题
3个小时就这样白费了。。。伟大的很高兴看到有用的错误消息
更新:
从GWT 2.5.0(RC1)开始,GWT现在支持将此特定错误作废的
Double.doubleToLongBits()
,但缺少JRE仿真的一般错误机制仍然存在,并且可能会以类似的无帮助方式表现出来。我编写了一个使用GWT JSON功能的组件,但是没有将com.google.gwt.json.json导入模块
多亏了你的留言,这才花了2个小时 我用的是手机名单:
private static RelationshipViewerUiBinder uiBinder = GWT.create(RelationshipViewerUiBinder.class);
@UiField(provided=true)
CellList<String> prioritisedDisplay;
public RelationshipViewer() {
prioritisedDisplay = new CellList<>(new TextCell());
initWidget(uiBinder.createAndBindUi(this));
}
private static RelationshipViewerUiBinder=GWT.create(RelationshipViewerUiBinder.class);
@UiField(提供的=真)
细胞列表显示;
公共关系ShipViewer(){
PrioritizedDisplay=新单元格列表(new TextCell());
initWidget(uiBinder.createAndBindUi(this));
}
注意单元格列表上的Java7样式。尽管我的IDE声明相反,但事实证明,在新调用中确实需要显式地说CellListprivate static RelationshipViewerUiBinder uiBinder = GWT.create(RelationshipViewerUiBinder.class);
@UiField(provided=true)
CellList<String> prioritisedDisplay;
public RelationshipViewer() {
prioritisedDisplay = new CellList<String>(new TextCell());
initWidget(uiBinder.createAndBindUi(this));
}
private static RelationshipViewerUiBinder=GWT.create(RelationshipViewerUiBinder.class);
@UiField(提供的=真)
细胞列表显示;
公共关系ShipViewer(){
PrioritizedDisplay=新单元格列表(new TextCell());
initWidget(uiBinder.createAndBindUi(this));
}
我试图在UiBinder.ui.xml中使用,这是不可能的,因为DragAndDropCellTree没有零参数构造函数