Maven的生命周期

Maven命令的输入往往就对应了生命周期、比如mvncompile就表示执行默认生命周期阶段compile。Maven的生命周期是抽象的、其实际行为都是由插件完成的。比如mvncompile就可能会由maven-compile-plugin完成。生命周期和插件是协同工作。

1、    何为生命周期

项目构件中进行的清理、编译、测试及部署都可以视作一个一个项目的生命周期、但是每个项目每个人都有不一样的顺序不一样的实现方式。没有统一性带来的不方便已经不言而喻。

Maven的生命周期就是为例对所有的构建过程进行抽象和统一。抽象与项目、应用与项目、总结了一套完善易扩展的生命周期:清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成。Maven的生命周期是抽象的、意味着生命周期不做任何实际工作。实际工作都是由插件完成。

2、    三套生命周期

Maven的有三套生命周期:clean、default、site。每个生民周期包含不同的阶段(phase)、阶段是有序的、执行生命周期的每个阶段时此phase的前面的所有阶段都会被执行。

2.1、    Clean:

pre-clean、

clean、

post-clean。

2.2、    Default:

validate

initialize

generate-sources

process-sources:处理项目主资源、一般是将src/main/resources目录的内容进行变量替换工作后、复制到项目输出的主classpath目录中。

generate-resources

process-resources

compile编译项目的主源码、一般是编译src/main/java目录下的Java文件至项目输出的主classpath目录中。

process-classes

generate-test-sources

process-test-sources

generate-test-resources

process-test-resources

test-compile:编译项目的测试源码、一般是编译src/test/java目录下的Java文件至项目输出的测试classpath目录中。

process-test-classes

test:使用单元测试框架运行测试、测试代码不会被打包或部署

prepare-package

package

pre-intergration-test

integration-test

post-intergration-test

verify

install:将包安装到Maven本地仓库。

deploy:将包复制到远程仓库

2.3、    Site生命周期

pre-site

site:生成项目站点文档

post-site

site-deploy:将生成的项目站点发布到服务器上

3、    命令行与生命周期:

$mvnclean 执行pre-clean——》clean

$mvnclean install 执行上面提到的clean、执行default生命周期从开始到install所有生命周期阶段。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容