2011-09-01 100 views
1

我希望能夠智能地確定Web應用程序是否發生了變化並需要重新部署,但無法確定使用Maven2的有效方式。如果沒有源文件更改,可以避免Maven(jar/war)包裝?

對於給定的Java Web應用程序,Maven不會重新編譯未更改的源文件,但它總是將.war工件重新打包,從而更新其時間戳。使用更新的時間戳記,我必須假定工件代表更新的快照版本。

是否有可能讓Maven避免重新打包,其中沒有源文件發生變化,並且以前打包的.war文件仍然存在於目標文件夾中?至少,如果沒有發現變化,是否有可能讓Maven避免覆蓋先前打包的.war文件?

+0

您是否使用CI解決方案? – khmarbaise

回答

1

您可以嘗試默認設置爲true(強制)的maven-war-plugin的設置。但請小心並閱讀關於文檔中力標誌的警告。

<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-war-plugin</artifactId> 
<configuration> 
    <archive> 
    <forced>false</forced> 
    </archive> 
</configuration> 
+0

感謝您與所有人共享該國旗!雖然,它似乎被稱爲強迫,而不是強制:) – Jon7

+0

已更新的答案。感謝提示(監督)。 – khmarbaise

+0

我沒有意識到歸檔組件。謝謝,這似乎正是我所期望的。 :) – mirzmaster