Maven生命周期详解

Maven生命周期详解

目录

Maven生命周期详解

1、什么是生命周期?

2、Maven三大生命周期

2.1 clean:清理项目

2.2 default:构建项目

2.3 site:生成项目站点


1、什么是生命周期?

         Maven生命周期就是为了对所有的构建过程进行抽象和统一。包括项目清理、初始化、编译、打包、测试、部署等几乎所有构建步骤。生命周期可以理解为构建工程的步骤。

         在Maven中有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是:

            (1) Clean Lifecycle: 在进行真正的构建之前进行一些清理工作。 Mvn clean

            (2) Default Lifecycle: 构建的核心部分,编译,测试,打包,部署等等。 Mvn compile test package install deploy

            (3) Site Lifecycle: 生成项目报告,站点,发布站点。

        再次强调一下它们是相互独立的,你可以仅仅调用clean来清理工作目录,仅仅调用site来生成站点。当然你也可以直接运行 mvn clean install site 运行所有这三套生命周期。

2、Maven三大生命周期

2.1 clean:清理项目

        每套生命周期都由一组阶段(Phase)组成,我们平时在命令行输入的命令总会对应于一个特定的阶段。比如,运行mvn clean ,这个的clean是Clean生命周期的一个阶段。有Clean生命周期,也有clean阶段。Clean生命周期一共包含了三个阶段:

        (1) pre-clean:执行清理前需要完成的工作

        (2) clean:清理上一次构建过程中生成的文件,比如编译后的class文件等。

        (3) post-clean:执行清理后需要完成的工作

2.2 default:构建项目

        Default生命周期是Maven生命周期中最重要的一个,绝大部分工作都发生在这个生命周期中。这里,只解释一些比较重要和常用的阶段:

        validate 验证项目结构是否正常,必要的配置文件是否存在

        initialize 做构建前的初始化操作,比如初始化参数,创建必要的目录等

        generate-sources 产生在编译过程中需要的源代码

        process-sources 处理源代码,比如过滤值

        generate-resources 产生主代码中的资源在classpath中的包

        process-resources 复制并处理资源文件,至目标目录,准备打包。

        compile 编译项目的源代码。

        process-classes 产生编译过程中生成的文件

        generate-test-sources 产生编译过程中测试相关的代码

        process-test-sources 处理测试代码

        generate-test-resources 产生测试中资源在

        classpath中的包

        process-test-resources 复制并处理资源文件,至目标测试目录。

        test-compile 编译测试源代码。

        process-test-classes 产生编译测试代码过程的文件test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。

        prepare-package 处理打包前需要初始化的准备工作

        package 接受编译好的代码,打包成可发布的格式,如 JAR 。

        pre-integration-test 做好集成测试前的准备工作,比如集成环境的参数设置

        integration-test 集成测试

        post-integration-test 完成集成测试前的准备工作,比如集成环境的参数设置

        verify 检测测试后的包是否完好

        install 将包安装至本地仓库,以让其它项目依赖。

        deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享。

运行任何一个阶段的时候,它前面的所有阶段都会被运行,这也就是为什么我们运行mvn install 的时候,代码会被编译,测试,打包。此外,Maven的插件机制是完全依赖Maven的生命周期的,因此理解生命周期至关重要。

参考资料地址:http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

2.3 site:生成项目站点

         Site生命周期

         pre-site 执行一些需要在生成站点文档之前完成的工作

        site 生成项目的站点文档

        post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备

        site-deploy 将生成的站点文档部署到特定的服务器上

这里经常用到的是site阶段和site-deploy阶段,用以生成和发布Maven站点,这可是Maven相当强大的功能,Manager比较喜欢,文档及统计数据自动生成,很好看。

 

 

 

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值