PostGIS在Windows上的下載與安裝
理解maven命令package、install、deploy的聯絡與區別
鄙人的新書《Elasticsearch權威指南》正式出版發行,歡迎購買!本書由華為、中興高階技術專家全面審讀並撰序,助您挑戰百萬年薪 購書連結:
歡迎關注鄙人公眾號,技術乾貨隨時看!
技術交流qq群: 659201069
鄙人的新書《elasticsearch7完全開發指南》,歡迎訂閱!
https://wenku.baidu.com/view/8ff2ce94591b6bd97f192279168884868762b8e7
《kibana權威指南》
https://wenku.baidu.com/view/24cfee1ce43a580216fc700abb68a98270feac21
我們在用maven構建java專案時,最常用的打包命令有mvn package、mvn install、deploy,這三個命令都可完成打jar包或war(當然也可以是其它形式的包)的功能,但這三個命令還是有區別的。下面通過分別執行這三個命令的輸出結果,來分析各自所執行的maven的生命週期。
mvn clean package
mvn clean install
mvn clean deploy(忽略最後的BUILD FAILURE)
通過三個命令的輸出我們可以看出三者的區別在於包函的maven生命的階段和執行目標(goal)不同。在我的上一篇文章https://blog.csdn.net/zhaojianting/article/details/80321488 中介紹了maven的生命週期和各種外掛,不明白的請參考此博文。maven生命週期(lifecycle)由各個階段組成,每個階段由maven的外掛plugin來執行完成。生命週期(lifecycle)主要包括clean、resources、complie、install、pacakge、testResources、testCompile、deploy等,其中帶test開頭的都是用業編譯測試程式碼或執行單元測試用例的。
仔細檢視上面的輸出結果截圖,可以發現,
- 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私服倉庫