【问题标题】:GWT opens empty in FirefoxGWT 在 Firefox 中打开为空
【发布时间】:2012-05-26 07:13:52
【问题描述】:

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

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

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

但这并没有帮助。

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

【问题讨论】:

    标签: gwt


    【解决方案1】:

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

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

    • mywebapp/
    • WEB-INF/
    • index.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 抱怨目录结构与项目不同步,请不要忘记刷新项目。

    【讨论】:

    • 我应该从那里删除什么?
    • 我已经编辑了答案,以便为您提供进一步的说明。希望对你有帮助
    • 谢谢,很高兴知道,但这并没有什么不同。该应用程序在 Firefox 中仍然不可见。
    • 我很惊讶听到这个消息。这是我的同事和我自己经常遇到的常见问题。尝试清除浏览器缓存并继续手动清除 GWT 编译器输出。如果您需要完整性检查,请将应用程序部署到 app-spot.com,因为如果您使用普通 GWT API,您的代码可能没有任何问题。
    • 该死的。我要查看的下一个地方是您正在使用的任何第三方 GWT 模块和本机 JSNI 方法(如果您编写了任何方法)。如果您从 JSNI 调用 Java 方法,请将它们包装在 $entry 中。如果可能的话,暂时从您的项目中删除一个第三方模块,看看您是否可以让您的应用程序做出响应。
    猜你喜欢
    • 1970-01-01
    • 2011-06-05
    • 2023-03-11
    • 1970-01-01
    • 2013-08-11
    • 2012-05-09
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多