1

GWT アプリケーションでサーバー側とクライアント側の間で通信するために Java RPC サービスを使用しています。プロジェクトをコンパイルして実行するために必要なため、バージョン管理から非同期インターフェイスを削除したくありません。

ただし、Async インターフェイスは、Maven プラグインによって target/generated-sources フォルダーに (Messages クラスと共に) 自動的に生成され、アプリケーションを実行しようとするとクラスの重複エラーが発生します。

非同期 RPC インターフェイスの自動生成を無効にする方法を知っている人はいますか?

4

2 に答える 2

1

この質問に従って答えを見つけました:

jaxb2-maven-plugin を使用して生成された Java ソースコードでディレクトリを自動的に追加するように IntelliJ IDEA および/または Maven を構成する方法は?

次に、Mojo の Web サイトで Maven GWT プラグインを確認します。

http://mojo.codehaus.org/gwt-maven-plugin/user-guide/async.html

...つまり、コードを生成していたのは IDEA ではなく、GWT Maven プラグインでした。pom の次の 2 行をコメントアウトして、Async RPC および i18n Messages インターフェイスの自動生成を無効にしました。

<goal>i18n</goal>
<goal>generateAsync</goal>

pom.xml のプラグイン定義は次のようになります。

 <plugin>
   <groupId>org.codehaus.mojo</groupId>
      <artifactId>gwt-maven-plugin</artifactId>
        <version>2.5.0</version>
        <executions>
          <execution>
            <goals>
              <goal>compile</goal>
              <goal>test</goal>
              <!--<goal>i18n</goal>-->
              <!--<goal>generateAsync</goal>-->
            </goals>
 . . .

そして、問題は解決しました。

于 2013-08-13T18:23:10.520 に答える
1

実際にPOMにコメントすることは、最善の方法ではありません。IDEAについてはわかりませんが、Eclipseの「実行構成」を使用すると、実行したい目標を指定できます。IDEA には似たようなものが必要だと思います (リンクを参照)

たとえば、2 つの異なるランナーがいるとします。目標を持った1人

gwt:generateAsync gwt:i18n gwt:css

もう 1 つは特定の目標がなく、完全なビルドを実行します。

clean install

あなたの場合、あなたはしたいでしょう

gwt:compile gwt:test

ただし、gwt:generateAsync ゴールを絶対に実行したくない場合は、それを削除することをお勧めします。

于 2013-08-14T12:04:15.293 に答える