我们在用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私服仓库  
---------------------
作者:亚当-adam
来源:CSDN
原文:https://blog.csdn.net/zhaojianting/article/details/80324533
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章

  1. Storm构建分布式实时处理应用初探
  2. python中文编码问题
  3. SameSite Cookie,防止 CSRF 攻击
  4. PD4F将HTML转换为PDF乱码问题
  5. 【架构】linkerd:来自Twitter为微服务而生的开源RPC解决方案
  6. python djange输入中文错误的解决办法
  7. java项目中eclipse控制台输出log4j的信息
  8. 树莓派通过 HDMI - VGA 转接后分辨率始终为640*480无法修改的问题
  9. [Oracle] - 性能优化工具(3) - ADDM
  10. python_day06(ip代理池)
  11. 随手小代码——《Python编程 从入门到实践》项目1:外星人入侵
  12. 2018.3.29 DIV位置调整代码
  13. STL用法整理
  14. JS对象与原型链
  15. ejs常用功能函数
  16. Python开发——数据类型【集合】
  17. HDU.5909.Tree Cutting(树形DP FWT/点分治)
  18. ado.net 中事务的使用
  19. 使用Squid部署代理服务
  20. 微信小程序开发语言的选择

热门文章

  1. [题解]邮递员寄信(luoguP1629)
  2. MySQL学习基础知识1
  3. 清北学堂4.28Day1(重大更新详见贪心例一)
  4. 一文入门C3
  5. dgraph实现基本操作
  6. 项目经理的“时间管理法则”(内含10G项目管理书籍)
  7. (模拟) codeVs1083 && 洛谷P1014 Cantor表
  8. iOS开发,这样写简历才能让大厂面试官看重你!
  9. c++ boost库配置
  10. BootstrapTable-加载数据