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`会先清理,再复制依赖,最后打包。生命周期阶段与插件目标协同工作,简化项目构建与管理。

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 阶段被执行。

相关文章
|
9天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件
|
1天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件
|
3天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件
|
6天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件
|
11天前
|
XML Java Maven
Maven 构建配置文件
构建配置文件是Maven项目中的重要组成部分,通过设置或覆盖Maven构建的默认值来适应不同环境(如开发、测试和生产环境)的需求。这些配置文件主要定义在`pom.xml`文件中,也可以在Maven的设置文件(如`%USER_HOME%/.m2/settings.xml`或`%M2_HOME%/conf/settings.xml`)中定义,分为项目级、用户级和全局三种类型。
|
16天前
|
XML Java Maven
Maven 构建配置文件
构建配置文件是Maven项目中的重要组成部分,通过设置或覆盖Maven构建的默认值来适应不同环境(如开发、测试和生产环境)的需求。
|
18天前
|
Java 持续交付 项目管理
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。
Maven是一款基于Apache许可的项目管理和构建自动化工具,在Java开发中极为流行。它采用项目对象模型(POM)来描述项目,简化构建流程。Maven提供依赖管理、标准构建生命周期、插件扩展等功能,支持多模块项目及版本控制。在Java Web开发中,Maven能够自动生成项目结构、管理依赖、自动化构建流程并运行多种插件任务,如代码质量检查和单元测试。遵循Maven的最佳实践,结合持续集成工具,可以显著提升开发效率和项目质量。
35 1
|
7天前
|
XML Java Maven
Maven 构建配置文件
Maven 构建配置文件
|
13天前
|
XML Java Maven
Maven 构建配置文件
构建配置文件是Maven项目构建过程中的一系列配置项值,用于设置或覆盖默认构建行为。它允许针对不同环境(如开发、测试、生产)自定义构建逻辑。这些配置通过`pom.xml`中的`activeProfiles`或`profiles`元素定义,并可通过多种方式激活。配置文件分为三类:项目级(位于`pom.xml`)、用户级(位于`%USER_HOME%/.m2/settings.xml`)和全局级(位于`%M2_HOME%/conf/settings.xml`)。
|
17天前
|
XML Java Maven
Maven 构建配置文件
Maven构建配置文件定制不同环境(如开发、测试、生产)下的构建行为,通过覆盖默认设置实现灵活配置。配置文件以`profiles`形式存在于`pom.xml`或`settings.xml`中,分为项目级、用户级及全局级。可通过命令行、环境变量等多种方式激活特定配置文件,从而调整构建参数,如数据库服务器地址。示例中,通过不同配置文件(如`env.prod.properties`)指定环境变量,配合AntRun插件实现自动化构建任务。