使用 SuperDevMode 很难调试 GWT 应用程序。我的应用程序编译并运行良好。我的应用正在使用 Errai,但是访问页面会引发此错误:
SEVERE [AbstractCreationalContext] error initializing bean:
我想知道是否有解决方案,有没有办法查明错误?我认为仅仅“猜测”出什么问题并让它发挥作用是不够的,因为它总是有机会在未来遇到这个错误。
您是否使用 Errai UI 模板(即@Templated)?
如果是这种情况,请检查您是否将复合对象中所有注释为 @Datafield 的字段正确映射到相关模板,如此处所述。
Errai 错误处理会混淆此类错误的消息。为了能够看到确切的错误,您需要在浏览器中启用“捕获异常时暂停”(如@El Hoss 所建议的那样)。堆栈跟踪将准确显示导致错误的映射。
正确映射
CustomWidget.java
@Templated
class CustomWidget extends Composite {
@DataField Label label = new Label();
}
CustomWidget.html
<div>
<div data-field="label"></div>
</div>
[注意] 不要尝试将外部“div”元素映射为数据字段,因为它用于初始化您的 CustomWidget。即this.getElement()
在 CustomWidget 中执行将为您提供外部 div 元素的包装器对象。