2011-10-30 20 views
5

Ant的depend任務允許在任何依賴關係(引用的類,而不是模塊依賴關係)被修改的情況下重新編譯Java源代碼。我快速瀏覽了org.apache.maven.plugin.CompilerMojoorg.codehaus.plexus.compiler.util.scan.StaleSourceScanner,並且從外觀上看,它們根本不考慮相關性。如果源代碼的時間戳比類文件的時間戳更新(加上一些增量),它看起來好像是重新編譯的。maven-compiler-plugin在檢查陳舊源代碼時是否考慮依賴關係?

我錯過了什麼,或者是Maven無視源代碼沒有改變但是它的依賴關係確實(因此它們都需要重新編譯)的情況?

回答

0

你沒有錯過任何東西。 Maven無視這種情況。你必須用乾淨的版本來解決它。

maven-versions-plugin可以檢查是否有更新的版本可用,所以有一半的等式。乾淨的重建仍然是手動工作。

+0

我相信你誤解了我的問題。我在談論引用的類,而不是模塊依賴關係。 maven-versions-plugin僅處理模塊依賴關係。 – Gili

0

我使用maven-antrun-plugin。在那裏你可以配置它。我不認爲它是自動的。我的意思是你必須在第一次編譯時手動指定。病房後,maven處理你的問題。