簡體   English   中英

如何在Maven中關閉GWT異步RPC接口的自動生成

[英]How to turn off auto-generation of the GWT Asynchronous RPC interface in Maven

我正在使用Java RPC服務在GWT應用程序中的服務器和客戶端之間進行通信。 我不想從版本控制中刪除異步接口,因為為了使項目編譯和運行,它是必需的。

但是,異步接口是由Maven插件在target / generated-sources文件夾中自動生成的(以及Messages類),並且在應用程序嘗試運行時出現重復的類錯誤。

有誰知道如何禁用異步RPC接口的自動生成?

我通過以下問題找到了答案:

如何配置IntelliJ IDEA和/或Maven以使用jaxb2-maven-plugin生成的Java源代碼自動添加目錄?

然后在Mojo的網站上查看Maven GWT插件:

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

...因此並不是IDEA生成代碼,而是GWT Maven插件。 通過在pom中注釋掉以下兩行,我禁用了異步RPC和i18n消息接口的自動生成:

<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>
 . . .

問題就解決了。

實際上,評論您的POM並不是最好的方法。 我不了解IDEA,但是使用Eclipse“運行配置”可以指定要執行的目標。 我想IDEA一定有類似的東西(請參閱鏈接)

例如,我將有兩個不同的跑步者。 一個目標

gwt:generateAsync gwt:i18n gwt:css

而沒有具體目標的人將執行完整構建。

clean install

在您的情況下,您希望擁有

gwt:compile gwt:test

但是,如果您從不想執行gwt:generateAsync目標,則將其刪除可能是一個不錯的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM