延迟绑定异常GWT自定义小部件到UIBinder
我是Gwt的新手,正在寻找uibinder延迟绑定异常GWT自定义小部件到UIBinder,gwt,Gwt,我是Gwt的新手,正在寻找uibinder ` 及 package com.kt.outdoor.media.client.view; 导入com.google.gwt.core.client.gwt; 导入com.google.gwt.uibinder.client.uibinder; 导入com.google.gwt.user.client.ui.Composite; 导入com.google.gwt.user.client.ui.Widget; 公共类菜单扩展复合实现菜单视图{ 私有静
`
及
package com.kt.outdoor.media.client.view;
导入com.google.gwt.core.client.gwt;
导入com.google.gwt.uibinder.client.uibinder;
导入com.google.gwt.user.client.ui.Composite;
导入com.google.gwt.user.client.ui.Widget;
公共类菜单扩展复合实现菜单视图{
私有静态MenuUiBinder uiBinder=GWT.create(MenuUiBinder.class);
接口菜单项扩展了UiBinder{
}
私人演讲者;
公共菜单(){
initWidget(uiBinder.createAndBindUi(this));
}
@凌驾
公共void setPresenter(Presenter-Presenter){
this.presenter=演示者;
}
公共小部件asWidget(){
归还这个;
}
}
例外是
Caused by: com.google.gwt.event.shared.UmbrellaException: Exception caught: Deferred binding failed for 'com.kt.outdoor.media.client.view.Menu' (did you forget to inherit a required module?)
at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:129)
at com.google.gwt.user.client.impl.HistoryImpl.fireEvent(HistoryImpl.java:80)
at com.google.gwt.event.logical.shared.ValueChangeEvent.fire(ValueChangeEvent.java:43)
at com.google.gwt.user.client.impl.HistoryImpl.fireHistoryChangedImpl(HistoryImpl.java:87) at com.google.gwt.user.client.History.fireCurrentHistoryState(History.java:131)
at com.kt.outdoor.media.client.AppController.go(AppController.java:58)
at com.kt.outdoor.media.client.OutDoor_Media.onModuleLoad(OutDoor_Media.java:16)
... 9 more
Caused by: java.lang.RuntimeException: Deferred binding failed for 'com.kt.outdoor.media.client.view.Menu' (did you forget to inherit a required module?)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53) at com.google.gwt.core.shared.GWT.create(GWT.java:57)
at com.google.gwt.core.client.GWT.create(GWT.java:85)
at com.kt.outdoor.media.client.view.Home_HomeUiBinderImpl$Widgets.build_hwllo(Home_HomeUiBinderImpl.java:108)
at com.kt.outdoor.media.client.view.Home_HomeUiBinderImpl$Widgets.get_hwllo(Home_HomeUiBinderImpl.java:104)
at com.kt.outdoor.media.client.view.Home_HomeUiBinderImpl$Widgets.build_f_FlowPanel2(Home_HomeUiBinderImpl.java:93)
at com.kt.outdoor.media.client.view.Home_HomeUiBinderImpl$Widgets.get_f_FlowPanel2(Home_HomeUiBinderImpl.java:87)
at com.kt.outdoor.media.client.view.Home_HomeUiBinderImpl$Widgets.build_f_DockLayoutPanel1(Home_HomeUiBinderImpl.java:73)
at com.kt.outdoor.media.client.view.Home_HomeUiBinderImpl$Widgets.get_f_DockLayoutPanel1(Home_HomeUiBinderImpl.java:67)
at com.kt.outdoor.media.client.view.Home_HomeUiBinderImpl$Widgets.access$0(Home_HomeUiBinderImpl.java:66)
at com.kt.outdoor.media.client.view.Home_HomeUiBinderImpl.createAndBindUi(Home_HomeUiBinderImpl.java:15)
at com.kt.outdoor.media.client.view.Home_HomeUiBinderImpl.createAndBindUi(Home_HomeUiBinderImpl.java:1)
at com.kt.outdoor.media.client.view.Home.(Home.java:23)
at com.kt.outdoor.media.client.AppController.onValueChange(AppController.java:70)
at com.google.gwt.event.logical.shared.ValueChangeEvent.dispatch(ValueChangeEvent.java:128)
at com.google.gwt.event.logical.shared.ValueChangeEvent.dispatch(ValueChangeEvent.java:1)
at com.google.gwt.event.shared.GwtEvent.dispatch(GwtEvent.java:1)
at com.google.web.bindery.event.shared.EventBus.dispatchEvent(EventBus.java:40)
at com.google.web.bindery.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:193)
at com.google.web.bindery.event.shared.SimpleEventBus.fireEvent(SimpleEventBus.java:88)
at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:127)
... 15 more
Caused by: com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:513)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
... 35 more
原因:com.google.gwt.event.shared.umbralleException:捕获异常:“com.kt.outdoor.media.client.view.Menu”的延迟绑定失败(是否忘记继承所需模块?)
位于com.google.gwt.event.shared.handlermager.firevent(handlermager.java:129)
在com.google.gwt.user.client.impl.HistoryImpl.fireEvent(HistoryImpl.java:80)上
在com.google.gwt.event.logical.shared.ValueChangeEvent.fire上(ValueChangeEvent.java:43)
在com.google.gwt.user.client.impl.HistoryImpl.fireHistoryChangedImpl(HistoryImpl.java:87)在com.google.gwt.user.client.History.fireCurrentHistoryState(History.java:131)上
位于com.kt.outdoor.media.client.AppController.go(AppController.java:58)
位于com.kt.outdoor.media.client.outdoor\u media.onModuleLoad(outdoor\u media.java:16)
... 9更多
原因:java.lang.RuntimeException:com.kt.outdoor.media.client.view.Menu的延迟绑定失败(是否忘记继承所需的模块?)
com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)com.google.gwt.core.shared.gwt.create(gwt.java:57)
位于com.google.gwt.core.client.gwt.create(gwt.java:85)
在com.kt.outdoor.media.client.view.Home\u HomeUiBinderImpl$Widgets.build\u hwlo(Home\u HomeUiBinderImpl.java:108)
在com.kt.outdoor.media.client.view.Home\u homeibinderimpl$Widgets.get\u hwlo(Home\u homeibinderimpl.java:104)
在com.kt.outdoor.media.client.view.Home\u HomeUiBinderImpl$Widgets.build\u f\u FlowPanel2(Home\u HomeUiBinderImpl.java:93)
在com.kt.outdoor.media.client.view.Home\u HomeUiBinderImpl$Widgets.get\f\u FlowPanel2(Home\u HomeUiBinderImpl.java:87)
在com.kt.outdoor.media.client.view.Home\u HomeUiBinderImpl$Widgets.build\f\u DockLayoutPanel1(Home\u HomeUiBinderImpl.java:73)
在com.kt.outdoor.media.client.view.Home\u HomeUiBinderImpl$Widgets.get\f\u DockLayoutPanel1(Home\u HomeUiBinderImpl.java:67)
在com.kt.outdoor.media.client.view.Home\u HomeUiBinderImpl$Widgets.access$0(Home\u HomeUiBinderImpl.java:66)
在com.kt.outdoor.media.client.view.Home\u HomeUiBinderImpl.createAndBindUi(Home\u HomeUiBinderImpl.java:15)
在com.kt.outdoor.media.client.view.Home\u HomeUiBinderImpl.createAndBindUi(Home\u HomeUiBinderImpl.java:1)
在com.kt.outdoor.media.client.view.Home.(Home.java:23)
在com.kt.outdoor.media.client.AppController.onValueChange(AppController.java:70)上
在com.google.gwt.event.logical.shared.ValueChangeEvent.dispatch(ValueChangeEvent.java:128)上
在com.google.gwt.event.logical.shared.ValueChangeEvent.dispatch(ValueChangeEvent.java:1)上
位于com.google.gwt.event.shared.GwtEvent.dispatch(GwtEvent.java:1)
位于com.google.web.bindery.event.shared.EventBus.dispatchEvent(EventBus.java:40)
位于com.google.web.bindery.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:193)
位于com.google.web.bindery.event.shared.SimpleEventBus.fireEvent(SimpleEventBus.java:88)
位于com.google.gwt.event.shared.handlermager.firevent(handlermager.java:127)
... 还有15个
原因:com.google.gwt.core.ext.UnableToCompleteException:(参见前面的日志条目)
位于com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:513)
位于com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
... 35多
有人能告诉我我的密码有什么问题吗
提前谢谢
这是演示者代码,我不明白为什么它失败了
package com.kt.outdoor.media.client.presenter;
导入com.google.gwt.event.shared.HandlerManager;
导入com.google.gwt.user.client.Window;
导入com.google.gwt.user.client.ui.haswidget;
导入com.kt.outdoor.media.client.event.ButtonClickEvent;
导入com.kt.outdoor.media.client.view.MenuView;
公共类MenuPresenter实现了Presenter、MenuView.Presenter{
私人最终HandlerManager事件总线;
私人最终菜单视图;
公共菜单中心(HandlerManager事件总线,菜单视图){
this.eventBus=eventBus;
this.view=视图;
this.view.setPresenter(this);
}
@凌驾
公共无效onMenuButtonClicked(){
Window.alert(“你好!”);
fireEvent(新按钮ClickEvent());
}
@凌驾
公共作废go(HasWidgets容器){
容器。清除();
container.add(view.asWidget());
}
}
按要求附上演示者代码它与您的项目设置有关。stacktrace中的主要问题是GWT编译器没有使用
com.kt.outdoor.media.client.view.Menu
类所在的GWT.xml模块。请仔细检查您的GWT模块xml文件设置,或者最好将您的项目布局和GWT.xml发布到您的问题中。这与您的项目设置有关。stacktrace中的主要问题是GWT编译器没有使用com.kt.outdoor.media.client.view.Menu
类所在的GWT.xml模块。请仔细检查您的GWT模块xml文件设置,或者最好将您的项目布局和GWT.xml发布到您的问题中。我也遇到了同样的问题。我就是这样解决的。首先检查您的.gwt.xml文件中是否已经有此条目
如果已经有了,那么请检查您是否正在使用最新的xerces jar。
我的问题通过xerces的更新得到解决