我花了一天的时间尝试让我的GWT2.6项目使用SuperDevMode。我到了可以在Chrome (火狐,linux和windows上也测试过)上启动SuperDevMode,codeserver等工具的地步,但是再多的研究似乎也不足以让我走出困境:
该站点在作为普通服务器运行时运行得很好(它过去在Classic Devmode下运行得很好),我有理由相信它没有什么根本问题,但是一旦我切换到SuperDevMode,GWT模块就无法加载。我只获取静态内容。
首先,我在Chrome开发者工具的控制台中发现了一个错误。我得到一个堆栈跟踪,它声称我的ClientFactory的getCalendarFactory方法不能在未定义的引用上调用(但同样,如果没有SuperDevMode,这种情况就不会发生)
Uncaught com.google.web.bindery.event.shared.UmbrellaException: Exception caught: Exception caught: Exception caught: (TypeError) : Cannot read property 'getCalendarFactory' of undefined
SimpleEventBus.java:203
$doFire_0 SimpleEventBus.java:203
$fireEvent_1 SimpleEventBus.java:88
fireEvent_7 SimpleEventBus.java:52
$goTo PlaceController.java:156
$handleHistoryToken PlaceHistoryHandler.java:192
$handleCurrentHistory PlaceHistoryHandler.java:118
$onModuleLoad XXXAppController.java:62init_1 com_00046XXX_00046XXX_00046XXX__EntryMethodHolder.java:3
apply_0 Impl.java:283
entry0 Impl.java:347
(anonymous function) Impl.java:92gwtOnLoad XXX-0.js:46819
(anonymous function) Comparators.java:32
我已经非常努力地研究了这个问题,但我仍然不能理解堆栈跟踪。几个小时后,我决定注释掉我的AppController类中的一行(它是gwt.xml中的入口点):
// historyHandler.handleCurrentHistory();
然而,现在当我在SuperDevMode中加载页面时,我不再得到异常,除了静态内容之外,我什么也得不到,没有错误或来自GWT模块的输出,所以UmbrellaException消失了,但其他什么都没有真正改变。
我们将非常感谢您的帮助和指导。
发布于 2014-10-27 19:16:43
你用的是maven吗?如果是这样的话,您是否已经将superDevMode服务器作为Tomcat/Jetty放在容器上了?
要查看您的superDevMode的服务器是否正常工作,您需要访问url "127.0.0.1/9876“。如果你没有服务器响应,那就是你的superDevMode不是午餐。
更多信息请访问:http://www.gwtproject.org/articles/superdevmode.html
https://stackoverflow.com/questions/26579548
复制相似问题