理解maven命令package、install、deploy的联系与区别

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

大家好,又见面了,我是你们的朋友全栈君。

鄙人的新书《Elasticsearch权威指南》正式出版发行,欢迎购买!本书由华为、中兴高级技术专家全面审读并撰序,助您挑战百万年薪 购书链接: 在这里插入图片描述

《Elasticsearch权威指南》

欢迎关注鄙人公众号,技术干货随时看!
在这里插入图片描述

技术交流qq群: 659201069

鄙人的新书《elasticsearch7完全开发指南》,欢迎订阅!

https://wenku.baidu.com/view/8ff2ce94591b6bd97f192279168884868762b8e7

《kibana权威指南》

https://wenku.baidu.com/view/24cfee1ce43a580216fc700abb68a98270feac21

我们在用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私服仓库
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/130327.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • HTML 表格表单代码实例(个人简介表)

    HTML 表格表单代码实例(个人简介表)<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><metahttp-equiv=”X-UA-Compatible”content=”IE=edge”><metaname=”viewport”content=”width=device-width,initial-scale=1.0″><title&…

  • 因果联想的例子设计_想方设法具体的情景表现出来

    因果联想的例子设计_想方设法具体的情景表现出来看得见的设计方法——因果联想法

  • vs 注释快捷键_VS2010快捷键

    vs 注释快捷键_VS2010快捷键在VisualStudioIDE中使用快捷键注释代码,无论是行注释还是块注释,第一步一定是选中要注释的内容(取消注释同样要先选中)!当然,如果是行注释,不必选取整行,将光标定位到该行即可!下面整理一下VisualStudioIDE中行注释和块注释的快捷键,以及快捷键的查看与修改。行注释行注释有以下两种方式!方式一:注释:Ctrl+K,Ctrl+C取消:Ctrl+K,Ctrl+U方式二:注释和取消都是这组快捷键:Ctrl+K,Ct…

  • JAX-WS – Soap详解[通俗易懂]

    JAX-WS – Soap详解[通俗易懂]一、创建Soap //创建消息工厂 MessageFactoryfactory=MessageFactory.newInstance(); //通过工厂创建Soap的消息 SOAPMessagemessage=factory.createMessage(); //获取SoapPart SOAPPartpart=message.getSO

  • Ubuntu下查看cuda版本的两种方法

    Ubuntu下查看cuda版本的两种方法参考资料:https://blog.csdn.net/qq_16525279/article/details/80662217  在安装Pytorch等深度学习框架的时候,我们往往需要检查是否和cuda版本匹配。在Ubuntu系统下查看cuda版本的方法,我发现有两个。方法一:  比较常用的一个方法是使用如下命令:cat/usr/local/cuda/version.txt使用该命令的效果如下图所示:方法一使用效果方法二:  方法一主要是依据cuda安装时保存的关于版本的txt文件。但

  • fpga编程语言VHDL_quartus模块

    fpga编程语言VHDL_quartus模块(72)FPGA模块调用(VHDL调用Verilog)1.1目录1)目录2)FPGA简介3)VerilogHDL简介4)FPGA模块调用(VHDL调用Verilog)5)结语1.2FPGA简介FPGA(FieldProgrammableGateArray)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA设计不是简单的

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号