Maven之——三套生命周期

版权声明:本文为博主原创文章,觉得稍有帮助,可点赞、转载注明出处。 https://blog.csdn.net/chenghuaying/article/details/40919169

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、    命令行与生命周期:


        前面说过执行生命周期的某个阶段时会被动执行此phase之前的阶段。

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


没有更多推荐了,返回首页