当前位置: 首页 > 知识库问答 >
问题:

GWT编译器在Linux和Windows中的行为不同

傅旺
2023-03-14

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

有人知道为什么GWT在Linux和Windows上的行为不同吗?我们能做什么让GWT在视窗和Linux上表现相同。我们使用Maven 3编译并运行gwt。

以下是GWT的插件配置:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>gwt-maven-plugin</artifactId>
  <version>2.5.0</version>
  <executions>
    <execution>
      <goals>
        <goal>compile</goal>
        <goal>i18n</goal>
        <goal>generateAsync</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <runTarget>MyApplication.html</runTarget>
    <hostedWebapp>${webappDirectory}</hostedWebapp>
    <i18nMessagesBundle>nl.my.app.client.Messages</i18nMessagesBundle>
    <inplace>true</inplace>
  </configuration>
</plugin> 

以下是模块配置:

<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='MyApplication'>
    <inherits name='com.google.gwt.user.User' />
    <inherits name="com.google.gwt.i18n.I18N" />
    <inherits name='nl.my.module' />
    <inherits name="com.sencha.gxt.ui.GXT" />
    <inherits name="com.google.common.collect.Collect" />
    <inherits name='com.google.gwt.user.Debug' />
    <inherits name='nl.my.othermodule' />

    <entry-point class='nl.my.MYApplication' />

    <source path='client' />
    <source path='shared' />

    <set-configuration-property name="UiBinder.useSafeHtmlTemplates" value="true" />

    <extend-property name="locale" values="nl_NL" />
</module>

使用以下命令构建并运行应用html" target="_blank">程序:mvn gwt:run

共有2个答案

赏航
2023-03-14

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

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

<meta http-equiv="X-UA-Compatible" content="IE=edge" >
佟和平
2023-03-14

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

 类似资料:
  • 问题内容: 我想在Linux和Windows上运行一些c ++代码。我只想为一个操作系统而不是其他操作系统包括一些代码。有一次可以使用的标准 #ifdef 吗? 就像是: 这个问题确实是重复的,但是这里的答案要好得多,尤其是被接受的答案。 问题答案: 采用:

  • 我们的团队试图从GWT 2.4.0升级到2.5.0,但现在我们面临的问题是编译器引发了一个异常。以下是编译器日志: 绑定:用户。代理=safari绑定:编译器。useSourceMaps=true绑定:locale=en编译模块应用程序。m8。网状物AGM验证单元:第一次通过时忽略了3个有编译错误的单元。编译时将-strict或-logLevel设置为TRACE或DEBUG以查看所有错误。[错误]

  • 问题内容: 我正在编译glibc库。在我可以这样做之前,我需要先跑步。但是,要编译glibc,我需要使用gcc编译器,它不是计算机上的默认编译器。该手册说明以下内容。 现在,我的问题是我对该计算机没有任何管理权限。因此,如何使用不同于默认值的编译器。 问题答案: 在linux上,任何人都可以更改其进程的环境变量。不需要管理权限。 在bash中: 在csh中使用 在该命令之后在此shell中启动的任

  • 问题内容: 要使用Qt SDK在Linux中创建应用程序,应该在Linux中交叉编译应用程序还是在Windows中交叉编译应用程序? 问题答案: 您需要 在 Linux上 针对 Windows 进行交叉编译。 编辑: 在 Linux 上安装MinGW 。 *在 *Linux 上 交叉编译 您的Qt代码。应该生成Windows二进制文件( .exe )。 大功告成 使用Qt运行时库在任何Window

  • 当我使用“loglevel=all”时,我得到一行输出“checking for updates”,然后它挂起。 我尝试创建一个新的项目并复制源文件--没有改变。

  • 我需要使用maven插件为GWT编译器设置输出目录位置。 我调查了GWT编译器和gwt-maven-plugin文档,没有找到任何选项。 例如: 我有两个模块,分别名为编辑器和控制台,gwt maven插件将它们编译为根目录编辑器和控制台目录。 但我需要将这些模块编译到