我正在开发模式下从 eclipse 启动我的 GWT 应用程序。
它在 Chrome 中启动良好,但在 Firefox 中我得到一个空窗口。
我在控制台或开发控制台中没有错误。
当我启动 Firebug 时,我可以看到登录屏幕的所有元素(html/css 等)。
我还尝试将 gwt.xml 中的用户代理设置为:
<set-property name="user.agent" value="gecko1_8"/>
但这并没有帮助。
为什么会发生这种情况?我该如何解决?
我正在开发模式下从 eclipse 启动我的 GWT 应用程序。
它在 Chrome 中启动良好,但在 Firefox 中我得到一个空窗口。
我在控制台或开发控制台中没有错误。
当我启动 Firebug 时,我可以看到登录屏幕的所有元素(html/css 等)。
我还尝试将 gwt.xml 中的用户代理设置为:
<set-property name="user.agent" value="gecko1_8"/>
但这并没有帮助。
为什么会发生这种情况?我该如何解决?
通常它是由损坏的缓存引起的。停止应用程序服务器并从您的 war 目录中删除 GWT 编译输出。运气好的话,您重新编译的 Web App 现在将按预期运行。您很快就会熟悉该过程,因为它是 Eclipse GWT 插件的一个令人讨厌的特性。这里值得一提的是IntelliJ IDE,因为它是一个出色的编译器,并且没有这些令人费解的怪癖,但是 GWT 支持需要 Ultimate Edition ($)。
典型的war
目录具有以下结构:
要删除的目录是mywebapp
. 这是您的 WebApps GWT 模块 (.gwt.xml) 的完全限定路径,或者更常见的是,它被重命名为rename
在同一模块中定义的属性。例如,MyWebApp.gwt.xml
可能看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to="mywebapp">
<entry-point class="com.mywebsite.client.MyWebAppEntry"/>
<source path="client"/>
</module>
如果未定义 rename-to 属性,GWT 编译器将在您的 WAR 目录中放置一个名为com.mywebsite.MyWebApp
. 但是因为我们定义了 rename 属性,所以 GWT 编译器通过从模块 xml 中获取缩短的名称来简化输出。
如果 Eclipse 抱怨目录结构与项目不同步,请不要忘记刷新项目。