Этот элемент UIObject не установлен; вы можете пропустить вызов Composite.initWidget() или UIObject.setElement()

При запуске моего приложения GWT/Errai я получаю это сообщение об ошибке:

Я уже сделал mvn clean compile package gwt:run

Вероятно, это означает, что вы используете mvn clean compile package gwt:run, для которого вы не вызывали _2_.


person quarks    schedule 25.06.2013    source источник


Ответы (1)


Выдержка из javadoc для Составной

Если вы не вызываете initWidget(), виджета в оболочке нет, и это приводит к этому сообщению об ошибке.

A type of widget that can **wrap** another widget, hiding the wrapped widget's methods.

Это также происходит, если вы extends UiObject не вызываете setElement(), но это редкий случай использования.

да, но глядя на журналы, ошибка была выброшена в библиотеке errai

person Arnaud Denoyelle    schedule 25.06.2013
comment
В моем случае у меня был компонент внутри этого Composite, который не вызывал initWidget(Widget). Простое добавление этого вызова в конструктор по умолчанию решило проблему. Я предполагал, что super() вызовет это для меня; это не так - у меня есть свой UiBinder для этого компонента, может быть поэтому. - person quarks; 25.06.2013
comment
можно как-то проверить, вызывался ли этот initWidget до этого? - person Glen Pierce; 28.09.2016
comment
00:00:00.000 [ОШИБКА] Невозможно загрузить класс точки входа модуля org.jboss.errai.ioc.client.Container (подробности см. в соответствующем исключении) java.lang.RuntimeException: критическая ошибка в начальной загрузке контейнера IOC в org.jboss. errai.ioc.client.Container.bootstrapContainer(Container.java:69) в org.jboss.errai.ioc.client.Container.onModuleLoad(Container.java:34) в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.invoke(Method.java:601) в com.google .gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396) в com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200) в com.google.gwt.dev.shell.BrowserChannelServer .processConnection(BrowserChannelServer.java:525) в com.google.gwt.dev.shell.BrowserChannelS erver.run(BrowserChannelServer.java:363) в java.lang.Thread.run(Thread.java:722) Причина: java.lang.AssertionError: этот элемент UIObject не установлен; вы можете пропустить вызов Composite.initWidget() или UIObject.setElement() в com.google.gwt.user.client.ui.UIObject.getElement(UIObject.java:527) в org.jboss.errai.ui .shared.TemplateUtil.compositeComponentReplace(TemplateUtil.java:61) в org.jboss.errai.ioc.client.BootstrapperImpl$65$1.init(BootstrapperImpl.java:1623) в org.jboss.errai.ioc.client.BootstrapperImpl$65$1 .init(BootstrapperImpl.java:1) в org.jboss.errai.ioc.client.container.CreationalContext.resolveAllProxies(CreationalContext.java:351) в org.jboss.errai.ioc.client.container.CreationalContext.finish(CreationalContext .java:312) в org.jboss.errai.ioc.client.Container.bootstrapContainer(Container.java:59) в org.jboss.errai.ioc.client.Container.onModuleLoad(Container.java:34) на солнце. Reflect.NativeMethodAccessorImpl.invoke0(собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) в sun.reflect.DelegatingMethod AccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) на java.lang.reflect.Method.invoke(Method.java:601) на com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396) на com .google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200) на com.google.gwt.dev.shell. BrowserChannelServer.processConnection(BrowserChannelServer.java:525) на com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) на java.lang.Thread.run(Thread.java:722) - person kovko; 03.10.2020