Maven生命週期及常用命令

加瓦一枚發表於2018-10-23

一、Maven內建3個生命週期

clean(專案的清理)、default(專案的部署)、site(專案站點文件的建立)

每個生命週期都是由一些階段組成。

比如說default生命週期包括(詳細的生命週期看後文):

validate(驗證)    驗證專案是否正確,並提供所有必要的資訊。
compile(編譯)    編譯專案的原始碼。
test(測試)    使用合適的測試框架測試編譯後的原始碼。這些測試程式碼不應該被打包或部署。
package(打包)    將已編譯的原始碼打包為可分發的格式,如JAR。
verify(檢查)    對整合測試的結果進行任何檢查,以確保滿足質量標準。
install(安裝)    安裝軟體包到本地儲存庫,作為依賴供本地其他專案使用。
deploy(部署)    在構建環境中完成,將最終包分發到遠端儲存庫,以便與其他開發人員和專案共享。
二、Clean生命週期
pre-clean(預清理)    執行專案實際清理前所需的流程。
clean(清理)    刪除以前版本生成的所有檔案。
post-clean(後清理)    執行完專案清理所需的過程。
三、Default生命週期

validate    驗證專案是否正確,並提供所有有必要的資訊。
initialize    初始化構建狀態,例如設定屬性或建立目錄。
generate-sources    生成包含在編譯中的任何原始碼。
process-sources    處理原始碼,例如過濾一些值。
generate-resources    生成包含在包中的資源。
process-resources    處理資源並複製資源到目標目錄,為打包做準備。
compile    編譯專案原始碼。
process-classes    處理生成後的位元組碼檔案,例如在Java類上進行位元組碼增強。
generate-test-sources    生成包含在編譯中的任何測試原始碼。
process-test-sources    處理測試原始碼,例如過濾一些值。
generate-test-resources    建立測試資源。
process-test-resources    處理測試資源,並複製到測試目標目錄中。
test-compile    編譯測試原始碼,並複製到測試目標目錄中。
process-test-classes    處理生成後的測試原始碼的位元組碼,例如在Java類上進行位元組碼增強。對於Maven2.0.5及以上版本。
test    使用合適的單元測試框架執行測試。這些測試不應該被要求打包或部署。
prepare-package    打包之前進行一些操作,例如解壓縮,處理版本。(Maven2.1及以上)
package    將編譯後程式碼打包為可分發的格式,如JAR。
pre-integration-test    在整合測試之前進行一些操作。這可能設計諸如設定所需環境等事情。
integration-test    如果需要的話,將程式包處理並部署到可以執行整合測試的環境中。
post-integration-test    執行整合測試後執行所需的操作。這可能包括清理環境。
verify    執行任何檢查來驗證包是有效的,並且符合質量標準。
install    將軟體包安裝到本地儲存庫中,作為本地其他專案的依賴項。
deploy    在整合環境或發行版環境中完成,將最終包複製到遠端儲存庫,以便與其他開發人員和專案共享。
四、site生命週期

pre-site    執行專案站點生成之前所需的流程。
site    生成專案的站點文件。
post-site    執行完專案站點生成所需的流程,併為網站部署做好準備。
site-deploy    將生成的站點文件部署到指定的Web伺服器。

總結:

1、maven的生命週期內建3種,clean用來清理專案,default用來構建專案,site用來生成專案站點文件。

2、每週生命週期都是由一些階段組成。

-------------------------------------------------

3、一個階段由外掛目標組成。

4、一些階段預設繫結著外掛目標。

5、pom中的packaging標籤的值對應著不同的階段來構建專案。
--------------------- 

一.maven的常用命令
1.clean:清理
A.java中的clean命令


選中一個專案clean會把你生成的.class檔案清理掉
B.Tomcat中的clean命令
Tomcat的clean是把部署tomcat中的專案.class檔案清理掉
C.maven中的clean命令
mvn clean
1
將專案根目錄下target目錄清理掉
2.compile:編譯
mvn compile
1
將專案中.java檔案編譯為.class檔案
3.test:單元測試
mvn test
1
單元測試類名有要求:XxxTest.java(命令只認Test結尾的)
將專案根目錄下,src/test/java目錄下的單元測試類都會執行
4.package:打包
mvn package
1
web project —war包
java project —jar包
將專案打包,打包到專案更目錄下target目錄
5.install:安裝
解決本地多個專案共用一個jar包
mvn install
1
打包到本地倉庫
二.maven專案的生命週期
在maven中存在”三套”生命週期,每一套宣告週期相互獨立,互不影響
在一套生命週期內,執行後面的命令前面命令會自動執行
1.cleanLifeCycle:清理宣告週期
Clean
1
2.defaultLifeCycle:預設生命週期
    compile,test,package,install,deploy(部署)
1
3.siteLifeCycle:站點生命週期
    site

 


--------------------- 
原文:https://blog.csdn.net/qq_33248299/article/details/78966359 

原文:https://blog.csdn.net/amaniz/article/details/79288250 

相關文章