maven命令package、install、deploy含义

最近在对微服务项目打包过程中遇到一个问题,提示报错找不到符号类,后来在同事帮忙下发现未在api包中导入新增的类,通过install将api类打包并部署到本地maven仓库,在开始接触开发之际并未对maven有完整的学习,对一些指令一知半解,故在此记录几个maven的常用指令,以便回顾。

maven生命周期(lifecycle)由各个阶段组成,每个阶段由maven的插件plugin来执行完成。生命周期(lifecycle)主要包括clean、resources、complie、install、pacakge、testResources、testCompile、deploy等,其中带test开头的都是用业编译测试代码或运行单元测试用例的。
 

实际操作过程中可以详细观察出每个指令的执行步骤,此处以mvn clean package为例

maven命令package、install、deploy含义

maven命令package、install、deploy含义 

 

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

  • 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私服仓库


————————————————
参考自:https://blog.csdn.net/zhaojianting/article/details/80324533