Maven生命週期

Maven生命週期

A Build Lifecycle is Made Up of Phases.A Build Phase is Made Up of Plugin Goals.
用了好久的maven了,直到最近才發現自已對maven的生命週期都還不瞭解,之前一直理解錯了,一直把default的一些phases當成了maven的生命週期。現記錄一下:Maven的生命週期就是對全部的構建過程進行抽象和統一。包含了項目的清理、初始化、編譯、測試、打包、集成測試、驗證、部署和站點生成等幾乎全部的構建步驟。Maven的生命週期是抽象的,即生命週期不作任何實際的工做,實際任務由插件完成,相似於設計模式中的模板方法。
Maven有三套相互獨立的生命週期,分別是clean、default和site。每一個生命週期包含一些階段(phase),階段是有順序的,後面的階段依賴於前面的階段。

maven-lifecircle

生命週期

Clean

  • pre-clean
  • clean
  • post-clean

Default

  • validate
  • initialize
  • generate-sources
  • process-sources
  • generate-resources
  • process-resources
  • compile
  • process-classes
  • generate-test-sources
  • process-test-sources
  • generate-test-resources
  • process-test-resources
  • test-compile
  • process-test-classes
  • test
  • prepare-package
  • package
  • pre-integration-test
  • integration-test
  • post-integration-test
  • verify
  • install
  • deploy

Site

  • pre-site
  • site
  • post-site
  • site-deploy

命令行和生命週期

各個生命週期相互獨立,一個生命週期的階段先後依賴。如:設計模式

mvn clean 調用clean生命週期的clean階段,實際執行pre-clean和clean階段maven

mvn test 調用default生命週期的test階段,實際執行test以及以前全部階段post

mvn clean install 調用clean生命週期的clean階段和default的install階段,實際執行pre-clean和clean,install以及以前全部階段測試

相關文章
相關標籤/搜索