理解maven命令package、install、deploy的聯(lián)系與區(qū)別
我們在用maven構(gòu)建java項目時,最常用的打包命令有mvn package、mvn install、deploy,這三個命令都可完成打jar包或war(當(dāng)然也可以是其它形式的包)的功能,但這三個命令還是有區(qū)別的。下面通過分別執(zhí)行這三個命令的輸出結(jié)果,來分析各自所執(zhí)行的maven的生命周期。
mvn clean package
mvn clean install
mvn clean deploy(忽略最后的BUILD FAILURE)
通過三個命令的輸出我們可以看出三者的區(qū)別在于包函的maven生命的階段和執(zhí)行目標(biāo)(goal)不同。在我的上一篇文章https://blog.csdn.net/zhaojianting/article/details/80321488 中介紹了maven的生命周期和各種插件,不明白的請參考此博文。maven生命周期(lifecycle)由各個階段組成,每個階段由maven的插件plugin來執(zhí)行完成。生命周期(lifecycle)主要包括clean、resources、complie、install、pacakge、testResources、testCompile、deploy等,其中帶test開頭的都是用業(yè)編譯測試代碼或運行單元測試用例的。
仔細(xì)查看上面的輸出結(jié)果截圖,可以發(fā)現(xiàn),
- mvn clean package依次執(zhí)行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7個階段。
- mvn clean install依次執(zhí)行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8個階段。
- mvn clean deploy依次執(zhí)行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9個階段。
由上面的分析可知主要區(qū)別如下,
- package命令完成了項目編譯、單元測試、打包功能,但沒有把打好的可執(zhí)行jar包(war包或其它形式的包)布署到本地maven倉庫和遠(yuǎn)程maven私服倉庫
- install命令完成了項目編譯、單元測試、打包功能,同時把打好的可執(zhí)行jar包(war包或其它形式的包)布署到本地maven倉庫,但沒有布署到遠(yuǎn)程maven私服倉庫
- deploy命令完成了項目編譯、單元測試、打包功能,同時把打好的可執(zhí)行jar包(war包或其它形式的包)布署到本地maven倉庫和遠(yuǎn)程maven私服倉庫
到此這篇關(guān)于理解maven命令package、install、deploy的聯(lián)系與區(qū)別的文章就介紹到這了,更多相關(guān)maven package install deploy命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中BigDecimal的equals方法和compareTo方法的區(qū)別詳析
這篇文章主要給大家介紹了關(guān)于Java中BigDecimal的equals方法和compareTo方法區(qū)別的相關(guān)資料,對于BigDecimal的大小比較,用equals方法的話會不僅會比較值的大小,還會比較兩個對象的精確度,而compareTo方法則不會比較精確度,只比較數(shù)值的大小,需要的朋友可以參考下2023-11-11java面向?qū)ο?API(接口)與集合(ArrayList)
這篇文章主要介紹了Java語言面向?qū)ο蟮腁PI與集合,還是十分不錯的,這里給大家分享下,需要的朋友可以參考,希望能夠給你帶來幫助2021-08-08Java中快速排序優(yōu)化技巧之隨機取樣、三數(shù)取中和插入排序
快速排序是一種常用的基于比較的排序算法,下面這篇文章主要給大家介紹了關(guān)于Java中快速排序優(yōu)化技巧之隨機取樣、三數(shù)取中和插入排序的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09