美文网首页程序员
Maven生命周期

Maven生命周期

作者: 世外大帝 | 来源:发表于2020-04-15 14:27 被阅读0次

    介绍

    对于构建项目的人来说,只需要学习一组命令就可以构建任何Maven项目,而 POM 将确保他们获得所需的结果。

    每一个构建项目的命令都对应了maven底层的一个插件。

    学习maven的生命周期可以帮助加深对maven的理解,以便更好的使用maven和解决使用过程中遇到的问题。

    有三个内置的构建生命周期: default, cleansite

    • default 生命周期处理项目部署
    • clean 生命周期处理项目清理
    • site 生命周期处理项目站点文档的创建

    构建生命周期的不同阶段

    实际上常用到的生命周期,基本都属于 Default 生命周期

    阶段 描述
    validate 确认项目是正确的,所有必要的信息都是可用的
    compile 编译
    test 测试
    package 打包
    verify 验证,对集成测试的结果进行任何检查,以确保满足质量标准
    install 将包安装到本地存储库中,作为本地其他项目中的依赖项使用
    deploy 发布

    完整的生命周期

    Clean 生命周期

    Clean 生命周期在日常开发中,也会用到,但远不如 Default 生命周期频繁,例如迁移项目后,一般都需要清理一下,但从名字也能看出来,也仅限于清理。

    阶段 描述
    pre-clean 预清理:在实际项目清理之前执行所需的过程
    clean 清理:删除以前生成的所有文件
    post-clean 后清理:执行完成项目清理工作所需的流程

    Default 生命周期

    Default 生命周期在实际开发中是最常用的生命周期

    阶段 描述
    validate 确认:确认项目是正确的,所有必要的信息都是可用的
    initialize 初始化:初始化构建状态,例如设置属性或创建目录
    generate-sources 生成源码:生成编译中包含的任何源代码。
    process-sources 处理源代码:例如过滤任何值
    generate-resources 生成资源:生成所有需要包含在打包过程中的资源文件
    process-resources 处理资源:将资源复制并处理到目标目录中,准备打包
    compile 编译
    process-classes 对编译生成的文件进行后处理,例如对Java类进行字节码增强
    generate-test-sources 生成编译中包含的任何测试源代码
    process-test-sources 处理测试源代码,例如过滤任何值。
    generate-test-resources 生成测试资源
    process-test-resources 将资源复制并处理到测试目标目录中
    test-compile 将测试源代码编译到测试目标目录中
    process-test-classes 对测试编译生成的文件进行后处理,参考process-classes
    test 测试
    prepare-package 预打包:在包装前进行任何必要的准备工作
    package 打包:将编译后的代码打包成可分发的格式,例如JAR包
    pre-integration-test 预集成测试:在执行集成测试之前执行所需的操作
    integration-test 集成测试:处理和部署到可以运行集成测试的环境中
    post-integration-test 后集成测试:执行集成测试后所需的操作
    verify 验证:运行任何检查来验证包是否有效并满足标准
    install 安装:将包安装到本地存储库中,作为本地其他项目中的依赖项使用
    deploy 打包:将最终的包复制到远程存储库,以便与其他开发人员和项目共享

    Site 生命周期

    实际上在日常开发中, Site 生命周期使用的并不多。

    阶段 描述
    pre-site 在实际项目站点生成之前执行所需的过程
    site 生成项目的站点文档
    post-site 执行完成站点生成和准备站点部署所需的流程
    site-deploy 将生成的站点文档部署到指定的web服务器

    参考:

    https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

    https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference

    相关文章

      网友评论

        本文标题:Maven生命周期

        本文链接:https://www.haomeiwen.com/subject/jrscvhtx.html