Maven的生命週期

Maven的生命週期

        maven的生命週期就是對全部的構建過程的抽象和統一,maven從各類構建工具和項目中總結了一套高度完善的易擴展的生命週期。也就是說全部的構建過程都可以映射到maven的生命週期裏。Maven的生命週期是抽象的,maven的生命週期自己不作任何工做,其具體工做都是由maven插件來實現的。這種設計方式與設計模式的模板方法模式相似。maven這種定義生命週期和插件的機制,保證 全部項目有一致的構建標準,提供默認的插件簡化了構建工做,而且提供了足夠的擴展空間,能夠經過配置插件和自定插件來實現個性化的構建。java

     maven 的生命週期主要有三套:clean、default和site設計模式

clean生命週期

clean週期主要是清理項目,主要包含三個階段(phase):服務器

  1. pre-clean : 執行清理前須要完成的工做
  2. clean : 執行清理上一次構建產生的一些文件
  3. post-clean:執行清理後須要完成的工做

default生命週期

定義了真正構建時須要完成的全部動做,下面列出一些重要的階段,也是咱們須要重點理解的:框架

  • process-sources : 處理項目資源文件;通常來講是對src/main/resources目錄的內容進行變量替換等工做後,複製到項目輸出的主classpath目錄中
  • compile: 編譯項目的主源碼;通常來講是對src/main/java目錄下的java文件編譯到項目輸出的主classpath目錄下。
  • process-test-sources: 處理項目測試資源文件;通常來講是對src/test/resources目錄的內容進行變量替換等工做後,複製到項目輸出測試classpath目錄中
  • test-compile:編譯項目的測試源碼;通常來講是對src/test/java目錄下的java文件編譯到項目輸出的測試classpath目錄下。
  • test:使用單元測試框架運行測試,測試代碼不會被打包或則部署
  • package:接受編譯好的代碼,打包成可發佈的格式,如:jar、war
  • install:將打好的包安裝到maven的本地倉庫
  • deploy:將最終的包複製到遠程倉庫

site生命週期

site生命週期的目的是簡歷和發佈項目站點,maven可以基於pom的信息自動生成一個友好的站點,方便團隊交流和發佈項目信息。該生命週期包含以下階段:maven

  • pre-site:執行一些在生成項目站點以前要完成的工做
  • site:生產項目站點文檔
  • post-site:執行一些在生成項目站點以後要完成的工做
  • site-deploy:將生成的項目站點發布到服務器上

命令行與生命週期

經過maven的命令來調用maven的生命週期,好比說:工具

mvn clean install ,maven的各個生命週期都是相互獨立的,而一個生命週期的各個階段倒是有先後依賴關係的,必須按按照順序執行,好比說咱們執行: mvn clean ,它實際上是執行了clean生命週期的兩個階段:pre-clean 和 clean 。default 和 site都是相似post

相關文章
相關標籤/搜索