1

GWT アプリケーションがあります。Maven 3 を使用して、GWT アプリケーションをビルドして実行します。Windows 7 でビルドして実行し、Windows 上の IE でテストすると、アプリケーションは正常に動作します。ただし、Linux でアプリケーションをコンパイルして実行し、Windows の IE でテストすると、アプリケーションの外観が異なります。クライアントの問題を除外するために、Windows 7 の Internet Explorer というまったく同じクライアントでテストを行いました。さらに調査した結果、Linux サーバーの Javascript は Windows サーバーの Javascript とは異なることが判明しました。

Linux と Windows で GWT の動作が異なる理由を知っている人はいますか? Windows と Linux の両方で GWT を同じように動作させるにはどうすればよいでしょうか。Maven 3 を使用して gwt をコンパイルおよび実行します。

GWT のプラグイン構成は次のとおりです。

<プラグイン>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>gwt-maven-plugin</artifactId>
  <バージョン>2.5.0</バージョン>
  <実行>
    <実行>
      <目標>
        <goal>コンパイル</goal>
        <goal>i18n</goal>
        <goal>generateAsync</goal>
      </目標>
    </実行>
  </実行>
  <構成>
    <runTarget>MyApplication.html</runTarget>
    <hostedWebapp>${webappDirectory}</hostedWebapp>
    <i18nMessagesBundle>nl.my.app.client.Messages</i18nMessagesBundle>
    <インプレース>真</インプレース>
  </設定>
</プラグイン>

モジュール構成は次のとおりです。

<?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='クライアント' />
    <source path='shared' />

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

    <extend-property name="locale" values="nl_NL" />
</モジュール>

アプリケーションは、次のコマンドを使用してビルドおよび実行されます: mvn gwt:run

4

2 に答える 2

0

問題が見つかりました -互換モード: 質問に記載されているように、問題は Internet Explorer (IE) でのみ発生しました。非ローカルアドレスを介してアプリケーションにアクセスすると、IE の互換モードが自動的に有効になります。互換モードでは、IE の動作が若干異なります。そのため、開発ワークステーションでlocalhostを介してアプリケーションにアクセスしたとき、互換モードは IE によって有効にされず、アプリケーションは本来あるべきように見えました。

この問題は、アプリケーションの単一の html ファイルの head セクションに次を追加することで解決されました。

<meta http-equiv="X-UA-Compatible" content="IE=edge" >
于 2013-02-19T08:29:10.337 に答える
0

おそらく、2 つの異なるシステムに異なる JDK が存在します。Maven で使用されている JDK が同じであることを確認してください。

于 2013-01-18T12:52:08.913 に答える