0

我正在开发模式下从 eclipse 启动我的 GWT 应用程序。
它在 Chrome 中启动良好,但在 Firefox 中我得到一个空窗口。
我在控制台或开发控制台中没有错误。
当我启动 Firebug 时,我可以看到登录屏幕的所有元素(html/css 等)。

我还尝试将 gwt.xml 中的用户代理设置为:

<set-property name="user.agent" value="gecko1_8"/>

但这并没有帮助。

为什么会发生这种情况?我该如何解决?

4

1 回答 1

2

通常它是由损坏的缓存引起的。停止应用程序服务器并从您的 war 目录中删除 GWT 编译输出。运气好的话,您重新编译的 Web App 现在将按预期运行。您很快就会熟悉该过程,因为它是 Eclipse GWT 插件的一个令人讨厌的特性。这里值得一提的是IntelliJ IDE,因为它是一个出色的编译器,并且没有这些令人费解的怪癖,但是 GWT 支持需要 Ultimate Edition ($)。

典型的war目录具有以下结构:

  • 我的网络应用程序/
  • WEB-INF/
  • 索引.html

要删除的目录是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 抱怨目录结构与项目不同步,请不要忘记刷新项目。

于 2012-05-26T15:51:26.037 回答