我正在加速使用 Vaadin,每当我尝试运行演示应用程序时都会收到这个 javascript 警报。
GWT module 'com.vaadin.terminal.gwt.DefaultWidgetSet' may need to be recompiled
我试过清理项目无济于事。
正如我所说,我正在加速,所以我确信我缺少一些简单的步骤或我没有掌握的概念。
我对 Vaadin 一无所知,但有一个更一般的上下文会发生此错误:
只要您在 Eclipse 中进行测试,您的应用程序的动态编码仍然是在 JVM 中运行的真正 Java 编码。此编码可通过可通过套接字访问的调试器获得。您会得到一个如下所示的 URL:
http://127.0.0.1:8888/MyApp.html?gwt.codesvr=127.0.0.1:9997
这个codesvr
东西是你的 Java 代码的 eclipse 托管的调试器进程。
在您的应用程序可以独立运行之前,GWT 必须将您的 Java 代码转换为 JavaScript;为您想要支持的每种浏览器类型(Firefox、WebKit、Opera 等)和语言生成单独的代码版本。只有完成此操作后,您才能以通常的方式通过以下方式访问您的应用程序
http://127.0.0.1:8888/MyApp.html
在仅在 Eclipse 中运行我的应用程序数周后,我设法忘记了为浏览器编译的步骤并想知道该消息。如果您不使用 Ant 任务,启动编译器的方法是点击Google|GWT Compile
项目的上下文菜单。完成后,您的应用程序中的 JS 得到充实,您的应用程序可以在客户端没有 Java 的情况下运行。
当然,消息消失了。
这是警告而不是错误。该应用程序是否有效?否则,您必须重新编译 Vaadin 小部件集。这些也可能有帮助:http: //vaadin.com/directory/help/using-vaadin-add-ons
通常这条信息意味着:
?gwt.codesvr=127.0.0.1:9997
URL 中的参数(或拼写错误)。<add-linker name="xs" />
。这是一个已知限制,将在未来修复:问题 4232:允许开发模式与 XS 链接器一起使用您可能需要清除浏览器缓存。有可能浏览器使用的编译好的js不是最近编译的js。
在 Chrome 中,您可以查看缓存的 js 是否正在开发者工具窗口中使用(ctrl + shift + i)。在大小列中,它将显示(来自缓存)而不是实际大小。然后,您可以右键单击并清除浏览器缓存。ctrl + r 重新加载,错误应该消失了。
服务器重新启动为我完成了这项工作。我曾尝试清除缓存、清理和重建 .. 但我仍然收到相同的警告消息。服务器重新启动使它重新加载了最新编译的战争中的所有 stull。这是一次成功的试验,我很高兴它奏效了 :) :)
Carl Smotricz 是绝对正确的。
最顶部菜单上的清理和构建项目不起作用。
在部署之前,您必须在右键单击 GWT 项目时生成的上下文菜单中使用“Google | GWT Compile”。如果他或她尝试在 Eclipse 外部的 WAS 上部署基于 GWT 的 web 应用程序,则该错误可能与不在主机网页末尾添加“?gwt.codesvr=127.0.0.1:9997”有关。