前言
软件开发人员每天都要对项目进行清理、编译、测试、打包以及安装部署。
通过学习、分析、反思和总结,Maven 抽象出了一个适合于所有项目的构建生命周期,并将它们统一规范。
具体步骤包括清理、初始化、编译、测试、打包、集成测试、验证、部署和生成站点。这些步骤几乎适合所有的项目。
Maven 拥有三套独立的生命周期,它们分别是 clean、default 和 site。clean 生命周期的目的是清理项目;default 生命周期的目的是构建项目;site 生命周期的目的是建立项目站点。
所以maven主要作用就是:将源文件路径是src/main/java和src/main/resources经过maven编译后就会放到目标编译路径target/classes
clean 生命周期
clean 生命周期的目的是清理target路径下的项目,它包括以下三个阶段。
- pre-clean:执行清理前需要完成的工作。
- clean:清理上一次构建过程中生成的文件,比如编译后的 class 文件等。
- post-clean:执行清理后需要完成的工作。
default 生命周期
default 生命周期定义了构建项目时所需要的执行步骤,它是所有生命周期中最核心部分
- clean 清理target路径下的所有文件资源
- compile 编译项目中的源代码
- test 运行测试案例
- package 将编译后的 class 和资源打包成压缩文件,比如 rar
- install 将打包的组件以构件的形式,安装到本地依赖仓库中,以便共享给本地的其他项目
- deploy 运行集成和发布环境,将测试后的最终包以构件的方式发布到远程仓库中,方便所有程序员共享
site 生命周期
site 生命周期的目的是建立和发布项目站点。Maven 可以基于 pom 所描述的信息自动生成项目的站点,同时还可以根据需要生成相关的报告文档集成在站点中,方便团队交流和发布项目信息。site 生命周期包括如下阶段。
- pre-site:执行生成站点前的准备工作。
- site:生成站点文档。
- post-site:执行生成站点后需要收尾的工作。
- site-deploy:将生成的站点发布到服务器上。