在尝试使用GWT Super Dev Mode时,我遵循了这些指导原则:
然而,我陷入了试图打开超级开发模式的步骤:
完成项目编译后,我运行代码服务器和开发模式,转到http://127.0.0.1:8888/myapp.html
(不带?gwt.codesvr=127.0.0.1:9997
),然后点击书签Dev Mode On
。它检测到我的模块,要求我重新编译,出现一个带有消息Compiling MyApp ...
的玻璃屏幕,然后没有...没有错误,也没有在Chrome或Eclipse中的堆栈跟踪。没有任何事情发生。
从dev_mode_on.js
文件调试js代码,脚本在第324行中断:
...
function getBindingParameters(module_name, get_prop_map) {
var session_key = '__gwtDevModeSession:' + module_name;
--> var prop_map = get_prop_map(); <--
...
调用函数get_prop_map
后,会运行一些混淆的函数并返回调试器。
我知道它仍然是实验性的,但你知道我做错了什么吗?
PS:我使用的是GWT 2.5,GWT-maven-plugin 2.5和Chrome 23.0.1271.64 m
答案 0 :(得分:2)
我们发现了一个类似的问题并追查了原因,看起来像是在GWT中未处理的边界情况。
可以在此处找到更多信息:http://code.google.com/p/google-web-toolkit/issues/detail?id=7894
答案 1 :(得分:0)
我没有答案,但我可以为这类问题提供一些常规调试技巧。
当前的超级开发模式(从2.5开始)在编译时不会向Web浏览器报告任何进度。在编译完成之前,它不会更新对话框。因此,由于某种原因,它可能对你的程序来说非常慢,或者编译停止了,并且不知何故没有像通常那样报告错误。
但是,您可以通过其他方式监控其进度。编译器日志可以通过以下代码服务器首页的链接作为网页使用;您必须刷新页面才能看到更新。或者您可以查看代码服务器工作目录中的磁盘上的日志。 (您可以在启动时使用-workDir参数设置工作目录。)
另一种方法是从命令行启动代码服务器。代码服务器中的任何堆栈跟踪都将打印在那里。如果你从那里运行它,你也应该能够查看Eclipse或IntelliJ中的输出。
从这里你应该能够判断编译器是否很慢,但仍在工作(它仍然是打印输出),或者实际上已经停止了堆栈跟踪。