maven package install deploy 命令的区别

喜欢ヅ旅行 2022-01-25 16:53 291阅读 0赞

我们在用maven构建java项目时,最常用的打包命令有mvn package、mvn install、deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但这三个命令还是有区别的。下面通过分别执行这三个命令的输出结果,来分析各自所执行的maven的生命周期。
mvn clean package

这里写图片描述

这里写图片描述

mvn clean install

这里写图片描述这里写图片描述
mvn clean deploy(忽略最后的BUILD FAILURE)

这里写图片描述这里写图片描述

通过三个命令的输出我们可以看出三者的区别在于包函的maven生命的阶段和执行目标(goal)不同。maven生命周期(lifecycle)由各个阶段组成,每个阶段由maven的插件plugin来执行完成。生命周期(lifecycle)主要包括clean、resources、complie、install、pacakge、testResources、testCompile、deploy等,其中带test开头的都是用业编译测试代码或运行单元测试用例的。

仔细查看上面的输出结果截图,可以发现,

  1. mvn clean package依次执行了cleanresourcescompiletestResourcestestCompiletestjar(打包)等7个阶段。
  2. mvn clean install依次执行了cleanresourcescompiletestResourcestestCompiletestjar(打包)、install8个阶段。
  3. mvn clean deploy依次执行了cleanresourcescompiletestResourcestestCompiletestjar(打包)、installdeploy等9个阶段。
  4. 由上面的分析可知主要区别如下,
  5. package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
  6. install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
  7. deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

-——————————
作者:亚当-adam
来源:CSDN
原文:https://blog.csdn.net/zhaojianting/article/details/80324533
版权声明:本文为博主原创文章,转载请附上博文链接!

发表评论

表情:
评论列表 (有 0 条评论,291人围观)

还没有评论,来说两句吧...

相关阅读