Maven 有三个标准的生命周期

简介: Maven的构建生命周期包括验证、编译、测试、打包、检查、安装和部署等阶段,用于项目构建与发布。它有三个标准生命周期:Clean(清除目标目录)、Default(编译、测试、打包、验证、安装和部署)和Site(生成项目文档和站点)。每个阶段由插件目标组成,如clean、package和dependency:copy-dependencies。执行时,命令按照阶段和目标的顺序操作,如`mvn clean dependency:copy-dependencies package`会依次执行清理、复制依赖和打包。

Maven 构建生命周期

Maven 构建生命周期定义了一个项目构建跟发布的过程。

阶段 处理 描述
验证 validate 验证项目 验证项目是否正确且所有必须信息是可用的
编译 compile 执行编译 源代码编译在此阶段完成
测试 Test 测试 使用适当的单元测试框架(例如JUnit)运行测试。
包装 package 打包 将编译后的代码打包成可分发的格式,例如 JAR 或 WAR
检查 verify 检查 对集成测试的结果进行检查,以保证质量达标
安装 install 安装 安装打包的项目到本地仓库,以供其他项目使用
部署 deploy 部署 拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程
为了完成 default 生命周期,这些阶段(包括其他未在上面罗列的生命周期阶段)将被按顺序地执行。

Maven 有以下三个标准的生命周期:

1、Clean 生命周期:

clean:删除目标目录中的编译输出文件。这通常是在构建之前执行的,以确保项目从一个干净的状态开始。
2、Default 生命周期(也称为 Build 生命周期):

validate:验证项目的正确性,例如检查项目的版本是否正确。
compile:编译项目的源代码。
test:运行项目的单元测试。
package:将编译后的代码打包成可分发的格式,例如 JAR 或 WAR。
verify:对项目进行额外的检查以确保质量。
install:将项目的构建结果安装到本地 Maven 仓库中,以供其他项目使用。
deploy:将项目的构建结果复制到远程仓库,以供其他开发人员或团队使用。
3、Site 生命周期:

site:生成项目文档和站点信息。
deploy-site:将生成的站点信息发布到远程服务器,以便共享项目文档。

构建阶段由插件目标构成
一个插件目标代表一个特定的任务(比构建阶段更为精细),这有助于项目的构建和管理。这些目标可能被绑定到多个阶段或者无绑定。不绑定到任何构建阶段的目标可以在构建生命周期之外通过直接调用执行。这些目标的执行顺序取决于调用目标和构建阶段的顺序。

例如,考虑下面的命令:

clean 和 pakage 是构建阶段,dependency:copy-dependencies 是目标

mvn clean dependency:copy-dependencies package
这里的 clean 阶段将会被首先执行,然后 dependency:copy-dependencies 目标会被执行,最终 package 阶段被执行。

相关文章
|
3月前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven的构建生命周期包括Clean(clean)、Default(validate, compile, test, package, verify, install, deploy)和Site(site, deploy-site)三个阶段。Default生命周期用于验证、编译、测试、打包、检查、安装和部署项目。插件目标如dependency:copy-dependencies可在生命周期之间插入。例如,`mvn clean dependency:copy-dependencies package`会先清理,再复制依赖,最后打包。生命周期阶段与插件目标协同工作,简化项目构建与管理。
|
3月前
|
Java 测试技术 Maven
Maven 构建生命周期
**Maven生命周期概览:** - Clean:删除编译输出,如`clean`。 - Default:验证(`validate`)、编译(`compile`)、测试(`test`)、打包(`package`)、检查(`verify`)、安装(`install`)和部署(`deploy`)。 - Site:生成项目文档与站点。 每个生命周期由阶段组成,阶段包含插件目标。如`mvn clean dependency:copy-dependencies package`,先清洁,执行特定目标,再打包。
|
3月前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven的构建生命周期包括Clean(clean)、Default(validate-compile-test-package-verify-install-deploy)和Site(site-deploy-site)三个阶段。Default生命周期用于验证、编译、测试、打包、检查、安装和部署项目。插件目标如dependency:copy-dependencies可插入到指定阶段,如在clean和package之间执行。生命周期阶段顺序执行,确保项目构建与发布的标准化。
|
3月前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven生命周期包括Clean(清除)、Default(构建)和Site(站点)三个阶段,用于项目构建与发布。Default生命周期含validate、compile、test、package、verify、install和deploy,确保代码编译、测试、打包和部署。Clean清除目标目录,Site生成项目文档。每个阶段由插件目标组成,如mvn clean package,先执行清理,再打包。
|
4月前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven的构建生命周期包含Clean、Default和Site三个阶段,用于项目构建与发布。Default生命周期包括validate、compile、test、package、verify、install和deploy,依次执行从验证、编译、测试到部署的步骤。Clean生命周期用于清除编译输出,而Site生命周期则处理项目文档和站点的生成与部署。
|
4月前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven的构建生命周期包括Clean(clean)、Default(validate, compile, test, package, verify, install, deploy)和Site(site, deploy-site)三个阶段。Default生命周期用于验证、编译、测试、打包、检查、安装和部署项目。插件目标如dependency:copy-dependencies可在阶段间操作。例如,`mvn clean dependency:copy-dependencies package`先清理、复制依赖,再打包。
|
4月前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven生命周期包括Clean(clean)、Default(validate, compile, test, package, verify, install, deploy)和Site(site, deploy-site)。Default生命周期用于构建与发布,验证项目、编译源码、运行单元测试、打包、质量检查、安装到本地仓库及部署到远程仓库。插件目标如`dependency:copy-dependencies`可在阶段间插入执行。例如,`mvn clean dependency:copy-dependencies package`先清理,然后复制依赖,最后打包。
|
3月前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven的构建生命周期包括Clean(clean)、Default(validate, compile, test, package, verify, install, deploy)和Site(site, deploy-site)三个阶段。Default生命周期用于常规构建,如验证、编译、测试、打包、检查、安装和部署。Clean清除编译输出,Site生成项目文档。每个阶段由插件目标组成,执行顺序由命令指定,如`mvn clean dependency:copy-dependencies package`先清洁,再复制依赖,最后打包。
|
4月前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven生命周期包括Clean(清除)、Default(构建)和Site阶段,用于项目构建与发布。Default阶段涉及validate、compile、test、package、verify、install和deploy,确保代码验证、编译、测试、打包、检查、安装及部署。生命周期中的每个阶段对应特定任务,由插件目标组成,可独立或按顺序执行。例如,`mvn clean dependency:copy-dependencies package`先清理,然后复制依赖,最后打包。
|
4月前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven的构建生命周期包括验证、编译、测试、打包、检查、安装和部署等阶段,确保项目正确、编译、测试并分发。它有三个标准生命周期:Clean(用于删除编译输出)、Default(涵盖验证、编译、测试、打包、验证质量、安装和部署)和Site(生成及部署项目文档)。