1

-noserver を介してデバッグしている状況があり、RPC オブジェクトのいずれかが変更されるか、シリアライゼーション エラーが発生するたびに gwt アプリケーションを再コンパイルする必要があります (これは GWT のドキュメントで詳しく説明されており、なぜそれが起こっているのかを理解しています) .

そうは言っても、私たちのプロジェクトはかなり大きくなり、コンパイルが完了するまでに時間がかかり、開発プロセスが遅くなります。私はこれを可能な限り最適化しました (-draftCompile を使用し、単一の順列のみを実行し、すべてのテストをスキップします) が、それでもかなり遅く、かなりひどいコンピューターを使用しています。

これにより、シリアライゼーションが正しく機能するために必要なファイルのみをコンパイラーに出力させることが、より良い選択肢になるのではないかと思いました。

これが可能かどうか知っている人はいますか?

ありがとう!

4

1 に答える 1

-2

Mavenの目標を使用してそれを行うことができます。Eclipseの「実行構成」には、そのための特定の構成があります。

Goals: gwt:generateAsync gwt:i18n gwt:css
Profiles: dev-ff

gwt:generateAsync ゴールは、RPC を生成するためのものです。これは、gwt-maven-plugin の標準的な目標です (もちろん、それを使用していると仮定します)。プロファイル: dev-ff は、Firefox 用のコードのみを生成することを保証します。

これは、maven プラグイン構成の一部です。目標の定義に注意してください。RPC インターフェイスの場所をプラグインに伝えるには、少なくとも servicePattern 属性が必要です。

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>gwt-maven-plugin</artifactId>
    <version>${gwt-maven-plugin.version}</version>
    <executions>
        <execution>
            <goals>
                <goal>compile</goal>
                <goal>test</goal>
                <goal>i18n</goal>
                <goal>css</goal>
                <goal>generateAsync</goal>
            </goals>
        </execution>
    </executions>
    <!-- Plugin configuration. There are many available options, see gwt-maven-plugin 
                    documentation at codehaus.org -->
    <configuration>
        <servicePattern>**/*RPC.java</servicePattern>
    </configuration>
</plugin>

この種の操作を行った後、生成された非同期ファイルを開いて Eclipse と同期させる必要がよくありました。その後、target/ フォルダー内の gwt-unitCache/ フォルダーを削除するだけで、アプリケーションが新しい RPC クラスを使用するように強制できることがわかりました。

プラグインの詳細については、こちらをご覧ください

于 2013-08-14T07:40:34.600 に答える