【Maven从入门到精通】02、Maven生命周期

184 阅读4分钟

2、Maven生命周期

2.1、生命周期

Maven有一个声明周期,当你运行 mvn install的时候被调用,这条命令告诉 Maven 执行一系列的有序的步骤,知道到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven运行了很多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。

image20220720183706242png

image20220720184224975png

  • mvn clean:清理编译的项目
  • mvn compile:编译项目
  • mvn test:测试项目(运行测试类)
  • mvn package:负责将我们的项目打包
  • mvn install:将这个项目安装到本地仓库中

2.2、Clean声明周期(Clean Lifecycle)

当我们执行 mvn post-clean 命令时,Maven 调用 clean 生命周期,它包含以下阶段:

  • pre-clean:执行一些需要在clean之前完成的工作
  • clean:移除所有上一次构建生成的文件
  • post-clean:执行一些需要在clean之后立刻完成的工作

注意:

mvn clean 这个是独立的和它们没有任何关系

mvn clean compile

mvn clean package - - - clean compile test package

2.3、Default 生命周期(Default Lifecycle)

Default Lifecycle是构建的核心部分、编译、测试、打包、部署等,Default生命周期是Maven生命周期中最重要的一个,绝大部分工作发生在这里声明周期中。

一些比较重要和常用的阶段:

  • compile:编译项目的源代码
  • install:将包安装到本地仓库,以让其他开发人员共享
  • deploy:将最终的包复制到远程仓库,以让其他开发人员与项目共享
  • process-test-sources:复制并处理资源文件至测试目录
  • process-resources:处理并复制资源文件,至目标目录,准备打包
  • test-compile:编译测试源代码
  • test:使用合适的单元测试框架进行测试,这些测试代码不会被打包和部署
  • package:接收编译好的代码,打包成可发布的格式,例:jar

所有介绍

生命周期阶段描述
validate(校验)校验项目是否正确并且所有必要的信息可以完成项目的构建过程。
initialize(初始化)初始化构建状态,比如设置属性值。
generate-sources(生成源代码)生成包含在编译阶段中的任何源代码。
process-sources(处理源代码)处理源代码,比如说,过滤任意值。
generate-resources(生成资源文件)生成将会包含在项目包中的资源文件。
process-resources (处理资源文件)复制和处理资源到目标目录,为打包阶段最好准备。
compile(编译)编译项目的源代码。
process-classes(处理类文件)处理编译生成的文件,比如说对Java class文件做字节码改善优化。
generate-test-sources(生成测试源代码)生成包含在编译阶段中的任何测试源代码。
process-test-sources(处理测试源代码)处理测试源代码,比如说,过滤任意值。
generate-test-resources(生成测试资源文件)为测试创建资源文件。
process-test-resources(处理测试资源文件)复制和处理测试资源到目标目录。
test-compile(编译测试源码)编译测试源代码到测试目标目录.
process-test-classes(处理测试类文件)处理测试源码编译生成的文件。
test(测试)使用合适的单元测试框架运行测试(Juint是其中之一)。
prepare-package(准备打包)在实际打包之前,执行任何的必要的操作为打包做准备。
package(打包)将编译后的代码打包成可分发格式的文件,比如JAR、WAR或者EAR文件。
pre-integration-test(集成测试前)在执行集成测试前进行必要的动作。比如说,搭建需要的环境。
integration-test(集成测试)处理和部署项目到可以运行集成测试环境中。
post-integration-test(集成测试后)在执行集成测试完成后进行必要的动作。比如说,清理集成测试环境。
verify (验证)运行任意的检查来验证项目包有效且达到质量标准。
install(安装)安装项目包到本地仓库,这样项目包可以用作其他本地项目的依赖。
deploy(部署)将最终的项目包复制到远程仓库中与其他开发者和项目共享。

2.4、Site 生命周期(Site Lifecycle)

Site Lifecycle 生成项目报告,站点,发布站点,站点的文章(站点信息,依赖),Site生命周期,生成站点信息四个阶段:

  • pre-site:执行一些需要在生成站点文档之前完成的工作
  • site:生成项目的站点文档
  • post-site: 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
  • site-deploy:将生成的站点文档部署到特定的服务器上

如果你要进行配置插件,参考菜鸟官网:www.runoob.com/maven/maven…