理解maven命令package、install、deploy的聯繫與區別

 

mvn clean deploy(忽略最後的BUILD)

deploy1

 deploy2


經過三個命令的輸出咱們能夠看出三者的區別在於包函的maven生命的階段和執行目標(goal)不一樣。在個人上一篇文章http://www.javashuo.com/article/p-gsracdrv-ee.html 中介紹了maven的生命週期和各類插件,不明白的請參考此博文。maven生命週期(lifecycle)由各個階段組成,每一個階段由maven的插件plugin來執行完成。生命週期(lifecycle)主要包括clean、resources、complie、install、pacakge、testResources、testCompile、deploy等,其中帶test開頭的都是用業編譯測試代碼或運行單元測試用例的。maven

仔細查看上面的輸出結果截圖,能夠發現,單元測試

mvn clean package依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7個階段。
mvn clean install依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8個階段。
mvn clean deploy依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9個階段。
由上面的分析可知主要區別以下,測試

package命令完成了項目編譯、單元測試、打包功能,但沒有把打好的可執行jar包(war包或其它形式的包)佈署到本地maven倉庫和遠程maven私服倉庫
install命令完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)佈署到本地maven倉庫,但沒有佈署到遠程maven私服倉庫
deploy命令完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)佈署到本地maven倉庫和遠程maven私服倉庫
————————————————
版權聲明:本文爲CSDN博主「阿童木-atom」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處連接及本聲明。
原文連接:https://blog.csdn.net/zhaojianting/article/details/80324533atom

相關文章
相關標籤/搜索