一、Maven生命周期的定义个人网站 https://blog.deschen.cn/
文章目录
Maven生命周期
一、Maven生命周期的定义二、Maven三套独立的生命周期三、Maven的插件
Maven的生命周期就是为了对所有的构建过程进行抽象和统一。包括项目的清理,初始化,编译,测试,打包,集成测试,验证,部署和生成站点等构建步骤。
二、Maven三套独立的生命周期Maven提供了三套独立的生命周期:clean, default 和 siteclean生命周期:清理项目,删除前一次构建在target文件夹下生成的各个Jar包等,
三个步骤
pre-clean:执行一些清理前需要完成的工作clean:清理上一次构建生成的文件post-clean:执行一些清理后需要完成的工作 举例:
mvn clean 就是在调用clean生命周期的clean阶段,实际执行了pre-clean和clean阶段 default生命周期:定义了真正构建项目中需要执行的所有步骤
八个步骤
validate:验证工程是否正确,所有需要的资源是否可用。compile:编译项目的源代码。test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。Package:把已编译的代码打包成可发布的格式,比如jar。integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。verify:运行所有检查,验证包是否有效且达到质量标准。install:把包安装到maven本地仓库,可以被其他工程作为依赖来使用。Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。 举例:
mvn test 就是在调用default生命周期的test阶段,实际执行了validate到test阶段之间的所有阶段mvn clean package 就是在调用clean生命周期的clean阶段和default生命周期的package阶段,实际执行clean生命周期pre-clean和clean阶段和default生命周期validate到package阶段之间的所有阶段 site生命周期:是建立和发布项目站点,Maven可以给予pom所包含的信息,生成一个站点,方便团队交流和发布项目信息
四个步骤
pre- sitesite:生成项目站点文档post-sitesite-deploy:将生成的项目站点发布到服务器上 mvn clean deploy site-deploy 就是在调用clean生命周期的clean阶段、default生命周期的package阶段和site生命周期的site-deploy,实际执行了clean生命周期pre-clean到clean阶段、default生命周期validate到package阶段、site生命周期pre-site到site-deploy阶段 三、Maven的插件
生命周期的各个阶段都是抽象的概念,真正干活的是一个个的插件,插件是以独立的构件形式存在,我们将maven的生命周期的各个阶段与maven的插件进行绑定,当我们执行mvn命令其实就是在指挥着一个个的插件在干活
Maven生命周期与插件绑定
举例:
mvn clean package为例,执行clean生命周期pre-clean和clean阶段和default生命周期validate到package阶段之间的所有阶段。对应的插件执行过程(红框标识)