Maven补全之生命周期(Lifecycle)

孤者浪人 提交于 2020-01-15 08:38:47

Maven补全之生命周期(Lifecycle)

Maven生命周期基础概念

Maven是基于生命周期构建的,一个Maven项目的构建是已经被清晰定义的过程。

对于我们使用Maven构建项目来说,POM.xml文件可以确保我们得到自己想要的项目(项目名,包依赖,版本号等等)

Maven有三种内置的构建生命周期:defaultcleansite

default(默认)生命周期会处理项目的部署,

clean(清理)生命周期负责项目的清理,

site生命周期生成项目的文档(java documentation

每个生命周期都由不同的阶段构成,每一个构建阶段代表生命周期里的一个阶段

以default生命周期为例,它主要包括如下构建阶段(完整的构建阶段见 Lifecycle构建阶段

  • validate :验证要构建的项目是正确的,并且所有需要的资源是存在的(例如pom.xml文件以及各种import的依赖包已经被正确加载等等)
  • compile:编译项目中的java文件成为虚拟机能识别的.class字节码文件(相当于 mvn compile 命令)
  • test:使用合适的单元测试框架来测试编译的源代码是否可以正确运行
  • package:将编译后的源代码打包(JAR 或者 WAR)
  • verify:验证测试结果确保达到目标
  • install:将Maven项目(打包完成)放入本地Maven仓库(相当于mvn install命令)
  • deploy:完成全部的项目构建,将最终生成的包文件发布到Maven远程仓库

可以看出,default生命周期会在保证项目正确的情况下完成一个项目的所有构建工作(编译,打包,安装到本地仓,发布到远程仓,是一个公司开发过程中所有需要的所有过程。

对于clean生命周期,比较常见的是执行mvn clean命令,会删除maven构建的所有文件(target目录下),包括所有的编译生成的字节码文件和打包生成的包文件。

对于site生命周期,Maven会自动提取所有的注释,自动生成结构化的javaDoc文档,同时也会生关于Maven构建的项目信息,下图是Maven site生命周期生成的一个结构化的目录

 

在这里特别需要说明的一点是,我们在命令行运行的常用Maven命令,比如:

    mvn install

maven会自动完成default生命周期里install构建过程以上的全部构建过程(比如validate, compile, package等等)


本文基于:
Maven官方文档-Lifecycle

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!