使用 SuperDevMode 进行调试

Debugging with SuperDevMode

使用 SuperDevMode 很难调试 GWT 应用程序。我的应用程序编译并运行良好。我的应用程序正在使用 Errai,但是访问页面会引发此错误:

SEVERE [AbstractCreationalContext] error initializing bean:

我想知道是否有解决方案,有没有办法查明错误?我认为仅仅 "guess" 出了什么问题并使其正常工作是不够的,因为它总是有机会在未来遇到这个错误。

您是否在使用 Errai UI 模板(即 @Templated)?

如果是这种情况,请检查您是否正确地将复合对象中注释为 @Datafield 的所有字段映射到关联模板,如 here 所述。

Errai 错误处理混淆了此类错误的消息。为了能够看到您需要在浏览器中启用 "Pause on caught exception" 的确切错误(如@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。 IE。在 CustomWidget 中执行 this.getElement() 将为您提供外部 div 元素的包装器对象。