UmbrellaException在使用GWTBootstrap3时包含ClassCastException Extras Summernote事件处理(KeyUp事件)

时间:2017-05-18 04:46:19

标签: summernote gwtbootstrap3

我尝试使用以下方法处理Summernote Keyup事件:

myEditor.addSummernoteKeyUpHandler(new SummernoteKeyUpHandler() {

        @Override
        public void onSummernoteKeyUp(final SummernoteKeyUpEvent event) {
            // TODO Auto-generated method stub
            log.fine("hello");
        }

    });

我得到一个UmbrellaException,这是恕我直言,一个类强制转换异常。

这是调用堆栈 enter image description here

我确定了te cast failes的以下地点:

@HasNoSideEffects
static native boolean canCast(Object src, JavaScriptObject dstId) /*-{
if (@com.google.gwt.lang.Cast::instanceOfString(*)(src)) {
   return !!@com.google.gwt.lang.Cast::stringCastMap[dstId];
} else if (src.@java.lang.Object::castableTypeMap) {
  return !!src.@java.lang.Object::castableTypeMap[dstId]; //<-- this returns false!!!
} else if (@com.google.gwt.lang.Cast::instanceOfDouble(*)(src)) {
  return !!@com.google.gwt.lang.Cast::doubleCastMap[dstId];
} else if (@com.google.gwt.lang.Cast::instanceOfBoolean(*)(src)) {
  return !!@com.google.gwt.lang.Cast::booleanCastMap[dstId];
}
return false;
}-*/;

dstId包含:

enter image description here

任何帮助都非常感谢!

我用一个实际可行的小型演示测试了这个。但是在我的大型应用程序中,我得到了这个例外,我不明白为什么。

你知道这里有什么问题吗?

祝你好运 汉纳斯

1 个答案:

答案 0 :(得分:0)

正如Andrei建议我将风格设置为DETAILED。我使用Eclipse作为开发环境。我决定清理构建系统(我以前做过)。现在问题已经消失了!!此外,我使用SDBG(参见:https://sdbg.github.io/)来调试我的GWT应用程序。这非常有效(即使没有-style DETAILED)。现在非常奇怪的事情仍然存在。我可以为我的应用程序设置断点,它们都运行良好,除了在事件处理方法中设置断点。我使用记录器将一些文本打印到控制台,所以我看到summernote的事件处理程序实际上被调用但调试器不会停止。我检查了断点是否列在选项卡&#34; Breakpoints&#34;它是,它被检查。我不明白。也许我必须重建所有。

但要保持长篇大论: 问题的解决方案可能是真正发布一个干净的构建,然后希望最好。