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、jar共7个阶段
- maven clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar和install共8个阶段
- maven clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar、install和deploy共9个阶段
三者主要区别如下
- package命令完成了项目编译、单元测试、打包功能,但没有将编译好的可执行jar包部署到本地maven仓库和远程maven私服仓库
- install命令完成了项目编译、单元测试、打包功能,同时将编译好的可执行jar包部署到本地maven仓库,没有部署到远程maven私服仓库
- deploy命令完成了项目编译、单元测试、打包功能,同时将编译好的可执行jar包部署到了本地maven仓库和远程maven私服仓库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具