【问题标题】:GWT compiler behaves differently in Linux and WindowsGWT 编译器在 Linux 和 Windows 中的行为不同
【发布时间】:2013-01-02 04:30:42
【问题描述】:

我们有一个 GWT 应用程序。我们使用 Maven 3 构建并运行 GWT 应用程序。 当我们在 Windows 7 上构建和运行并在 Windows 上的 IE 上进行测试时,该应用程序运行良好。但是,当我们在 Linux 上编译和运行应用程序,然后在 Windows 上的 IE 上进行测试时,应用程序看起来会有所不同。 排除客户端问题:我们在完全相同的客户端上进行测试 - Windows 7 上的 Internet Explorer。 进一步调查显示,Linux 服务器上的 Javascript 与 Windows 服务器上的 Javascript 不同。

有谁知道为什么 GWT 在 Linux 和 Windows 上的行为不同?我们可以做什么让 GWT 在 Windows 和 Linux 上表现相同。 我们使用 Maven 3 编译和运行 gwt。

GWT的插件配置如下:

org.codehaus.mojogwt-maven-plugin2.5.0版本> 编译目标> i18ngenerateAsync目标> 执行> 执行> MyApplication.html${webappDirectory}nl.my.app.client.Messages配置> 插件>

这是模块配置:

模块>

应用程序是使用以下命令构建和运行的: mvn gwt:运行

【问题讨论】:

  • 编译后的输出有什么区别?

标签: linux windows internet-explorer gwt


【解决方案1】:

您可能在两个不同的系统上有不同的 JDK。确保maven使用的JDK相同。

【讨论】:

  • 我在 Linux 上使用 OpenJDK 6,在 Windows 上使用 Oracleś JDK 6。所以这可能是造成差异的原因。我试试看
  • 不起作用。我刚刚下载并安装了适用于 Linux 的 Oracle JDK 6。干净编译后我仍然有同样的问题
  • 使用 mvn -e 开关运行调试日志并查看正在拾取的 JDK。在两个平台上运行并比较日志。
【解决方案2】:

我们发现了问题 - 兼容模式:如问题中所述,问题仅出现在 Internet Explorer (IE) 中。当我们通过 non-local 地址访问应用程序时,IE 的兼容模式会自动启用。在兼容模式下,IE 的行为略有不同。这就是为什么当我们确实通过 localhost 访问应用程序时 - 在我们的开发工作站上 - IE 没有启用兼容模式并且应用程序看起来应该如此。

通过在应用程序的单个 html 文件的 head 部分添加以下内容解决了问题:

<meta http-equiv="X-UA-Compatible" content="IE=edge" >

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多