[英]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.