2014-10-10 46 views
2

我已經閱讀了很多地方maven的清潔和網站生命週期,但無法理解它的工作原理。 請解釋一下Maven的clean生命週期過程。 與構建有何不同。 與之前的開始一樣,清潔完成了,對吧? 在清理前和清理後階段會發生什麼情況。Maven的清潔生命週期

+1

「開始構建之前,清理已完成,正確」不,默認情況下,儘管運行mvn clean install很常見。 – Joe 2014-10-11 10:37:43

回答

1

在基於Maven的項目中,許多緩存輸出存在於「目標」文件夾中。如果要構建用於部署的項目,則必須確保清除所有緩存輸出,以便始終獲得最新的部署。

例如:如果重命名一個類,以前的編譯版本將保持在目標/班,直到你運行乾淨。這可能完全無害,但如果通過類路徑掃描等進行自動檢測,則可能會導致問題。

5

乾淨的生命週期包含以下life cycle phases

  • 預清潔
  • 乾淨
  • 後清潔

如果調用mvn clean以下生命週期階段將運行通過:

pre-clean, clean 

如果你想打電話mvn post-clean以下生命週期階段將貫穿:

pre-clean, clean, post-clean 

默認情況下,在清潔lifeclyce只有Maven的清理插件被綁定到清理階段通常會刪除目標文件夾。通常沒有什麼綁定到post-clean

其他生命週期就像網站包含以下幾個階段:

pre-site, site, post-site, site-deploy 

,而你usally叫mvn site或有時mvn site-deploy

所謂default生命週期包含更多的相(僅exerpt):

驗證,...,編譯,測試,..,包,...,安裝,部署

在每個階段綁定不同的插件來完成你喜歡的結果。

3

預先清理或後清理時默認情況下不會發生任何事情,但如果您願意,您可以自己使用它們。例如,如果您想爲歷史目的保留過去的版本,那麼您可以在預清理階段運行備份。或者你可以使用post-clean進行一些額外的清理,比如重置本地數據庫或LDAP目錄。