Torres-tao  

maven命令package、install、deploy之间的区别

​ 在用maven构建java项目时,最常用的打包命令有mvn package、mvn install、deploy,这三个命令都可以完成打jar包或war包的功能,但这三个命令还是有区别的。接下来分别执行这三个命令来分析所执行的maven生命周期

1、maven clean package


2、maven clean install


3、maven clean deploy


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

​ 仔细查看上面的输出结果,可发现:

  • maven clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar7个阶段
  • maven clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar和install8个阶段
  • maven clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar、install和deploy9个阶段

三者主要区别如下

  • package命令完成了项目编译、单元测试、打包功能,但没有将编译好的可执行jar包部署到本地maven仓库和远程maven私服仓库
  • install命令完成了项目编译、单元测试、打包功能,同时将编译好的可执行jar包部署到本地maven仓库,没有部署到远程maven私服仓库
  • deploy命令完成了项目编译、单元测试、打包功能,同时将编译好的可执行jar包部署到了本地maven仓库和远程maven私服仓库

posted on 2022-03-24 17:56  雷子锅  阅读(257)  评论(0编辑  收藏  举报