2017-04-24 31 views
1

編輯:跳到最後一句正確的相關問題maven重建模塊,因爲自動生成的文件從節儉,任何方式來只生成更改的文件?

我建立了一個項目,這個Maven的命令:

-am -DskipTests=true -pl myModule install 

項目是非常大的,而模塊具有很大的依賴性,以及出於某種原因,他們得到重新編譯,即使它們是不變的, 我得到這個消息對於很多模塊組成:

[INFO] Changes detected - recompiling the module! 

這是我的構建標籤:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.6.1</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
       <encoding>UTF-8</encoding> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

我使用的Maven 3.5.0

爲什麼作爲改變了依賴模塊得到認可?

編輯:使用michaldo的建議

我發現,很多陳舊源的檢測 上自動生成的.java從節儉創建的文件的依賴模塊,

現在的問題就變成了:我如何指導行家/ thrift,不爲不變的節儉源生成.java文件?

+1

1 。你的問題是,maven編譯器插件檢測到錯誤的源代碼更改並且無需重新編譯模塊。請嚴格並更新問題標題:您的問題是不必要的重新編譯,而不是一般編譯時間。 2.找到不需要重新編譯的模塊,並在'mvn compile -X'(或測試編譯)中調用。在調試信息的泛濫發現爲改變被檢測到的文件,並繼續調查 – michaldo

+1

嗨,我看你現在更接近成功。然而,仍然很難幫助沒有說出他所做的事的人:)。如果您使用Thrift Maven Plugin,請確保使用checkStaleness參數。 https://github.com/dtrott/maven-thrift-plugin/blob/master/src/main/java/org/apache/thrift/maven/AbstractThriftMojo.java#L174 – michaldo

回答

0

michaldo的意見解決我的問題, 從儉插件解決所有不必要的代碼生成後,生成的速度要快得多

關鍵位是checkStaleness參數添加到配置:

  <groupId>org.apache.thrift.tools</groupId> 
      <artifactId>maven-thrift-plugin</artifactId> 
      <configuration> 
       <thriftExecutable>${thrift.exe}</thriftExecutable> 
       *<checkStaleness>true</checkStaleness>* 
      </configuration> 
+0

太好了!根據SO實踐,答案應該包含節儉插件配置的關鍵片段。它允許其他人輕鬆應用您的發現 – michaldo