maven概念介紹

Maven概念
Maven 項目對象模型(POM),可以通過一小段描述信息來管理項目的構建,報告和文檔的軟件項目管理工具
   一種標準化的方式構建項目,一個清晰的方式定義項目的組成,一個容易的方式發佈項目的信息,以及一種簡單的方式在多個項目中共享JARs.

 

Maven的生命週期

 

  Maven擁有三套相互獨立的生命週期,它們分別爲clean,default和site。

 

       Clean Lifecycle在進行真正的構建之前進行一些清理工作。
  Default Lifecycle構建的核心部分,編譯,測試,打包,部署等等。
  Site Lifecycle生成項目報告,站點,發佈站點。
  每個生命週期包含一些階段,這些階段是有順序的,並且後面的階段依賴於前面的階段,用戶和Maven最直接的交互方式就是調用這些生命週期階段。

 

  較之於生命週期階段的前後依賴關係,三套生命週期本身是相互獨立的,用戶可以僅僅調用clean生命週期的某個階段,或者僅僅調用default生命週期的某個階段,而不會對其他生命週期產生任何影響。
  1. clean生命週期
        clean生命週期的目的是清理項目,它包含三個階段:
       1)pre-clean 執行一些清理前需要完成的工作。
       2)clean 清理上一次構建生成的文件。
       3)post-clean 執行一些清理後需要完成的工作。

 

  2. default生命週期

 

         default生命週期定義了真正構件時所需要執行的所有步驟,它是生命週期中最核心的部分,它包含的階段如下:

 

         1) validate 驗證項目是否正確和所有需要的相關資源是否可用

 

         2) initialize 初始化構建

 

         3) generate-sources

 

         4)   process-sources 處理源代碼

 

         5) generate-resources

 

         6)   process-resources 處理項目主資源文件。對src/main/resources目錄的內容進行變量替換等工作後,複製到項目輸出的主classpath目錄中。

 

         7) compile 編譯項目的主源代碼

 

         8) process-classes

 

         9)   generate-test-sources

 

         10) process-test-sources 處理項目測試資源文件

 

         11)generate-test-resources

 

         12)  process-test-resources 處理測試的資源文件

 

         13)test-compile 編譯項目的測試代碼

 

         14)process-test-classes

 

         15)  test 使用單元測試框架運行測試,測試代碼不會被打包或部署

 

         16)prepare-package 做好打包的準備

 

         17)package 接受編譯好的代碼,打包成可發佈的格式

 

         18)  pre-integration-test

 

         19)  integration-test

 

         20)  postintegration-test

 

         21)  verify

 

         22)  install 將包安裝到Maven本地倉庫,供本地其他Maven項目使用

 

         23)deploy 將最終的包複製到遠程倉庫,供其他開發人員和Maven項目使用

 

site生命週期

 

        site生命週期的目的是建立和發佈項目站點,Maven能夠基於POM所包含的信息,自動生成一個友好的站點,方便團隊交流和發佈項目信息。該生命週期包含如下階段:

 

        1)pre-site 執行一些在生成項目站點之前需要完成的工作

 

        2)site 生成項目站點文檔

 

        3)post-site 執行一些在生成項目站點之後需要完成的工作

 

        4)site-deploy 將生成的項目站點發布到服務器上

更多免費技術資料可關注:annalin1203

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章