Lifecycle—Maven生命周期
在项目中我们常常使用 Maven Project 里面的 Install 按钮重构项目,但是一直不太懂到底是什么功能,之前我在网上看了好几篇关于Maven生命周期的博客,但是言辞过于专业官方,看一会要么看不进去困了,要么看不懂,前几天同事用实例给我讲了一下,比在网上那些官方的解释容易理解的多,那么今天我们就来记录一下关于Maven的生命周期的这点事,给和我一样不懂的小白鼠们!
执行 Maven Project 中的生命周期的来管理项目时必须停止运行项目,否则无法对Maven项目进行生命周期的管理,同时注意一个重要的事情,Maven的生命周期在执行过程中有一个非常重要的特点,就是顺序依次自前向后执行,即如果执行compile,那么 clean 和 validate都已经自动执行了!!!
项目的生命周期演示:
原本的项目结构:
Idea工作台中的包目录结构如图1:
此时本地仓库中的包目录结构:(Idea中的包结构与文件夹本地仓库中的是对应的,此后的示例便不再取本地仓库中的包目录结构给大家展示,但大家记住,Idea中的包是从本地仓库中取出来的,因此一一对应)
1.当双击clean后
2.当双击validate后,验证
3.当双击compile后,编译Java文件
4.当双击test后,走单元测试
5.当双击package后,打包项目为pm-1.0.0.jar文件
6.验证verify: 对集成测试的结果执行任何检查,以确保满足质量标准
7.安装install: 将打包过的jar包安装到本地Maven仓库,覆盖原来Maven本地仓库中的jar包,用作本地其他项目的依赖项
8.部署Deploy:在构建环境中完成,将最终的包复制到远程存储库以与其他开发人员和项目共享。
具体生命周期作用如下:
1.清洁Clean:清空项目中的target目录,target是用来存放项目构建后的文件和目录、jar包、war包、编译的class文件,所有都是Maven构建时生成的。
2.验证Validate:验证项目是否正确,所有必要的信息可用
3.编译Compile:编译Java文件
4.测试Test:测试的,走单元测试的,报错信息处理,报错信息在target里面,console里不会报错
5.打包Package:会将项目打包
6.验证verify: 对集成测试的结果执行任何检查,以确保满足质量标准
7.安装install: 将打包过的jar包安装到本地Maven仓库,覆盖原来Maven本地仓库中的jar包,用作本地其他项目的依赖项
8.部署Deploy:在构建环境中完成,将最终的包复制到远程存储库以与其他开发人员和项目共享。
由此可以发现,当不同的项目之间相互调用时,如果A项目更新了新的功能的代码,必须重新部署项目(Deploy),否则B项目无法调用A的新接口。
因此,我认为:
- Git作为代码管理工具,管理的是开发人员共同开发的一个项目的编写,以及它的各个代码分支;
- 而Maven与之不同的地方在于Maven是管理多个项目之间的调用,它管理** 1 整个项目生命周期的部署**;