Maven 构建生命周期

简介: Maven的构建生命周期包含Clean、Default和Site三个标准阶段,用于项目构建与发布。Default生命周期涉及验证、编译、测试、打包、验证、安装和部署。Clean清除编译输出,Site生成项目文档。每个阶段由插件目标组成,如mvn clean package执行清理和打包任务。目标可独立调用或绑定到特定阶段,如dependency:copy-dependencies。

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

相关文章
|
Linux 数据处理 C++
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用(一)
Linux系统编程 C/C++ 以及Qt 中的零拷贝技术: 从底层原理到高级应用
582 0
|
开发框架 运维 应用服务中间件
EDAS(Enterprise Distributed Application Service)
EDAS(Enterprise Distributed Application Service)是阿里云提供的一款企业级分布式应用服务平台,帮助企业快速构建、部署和管理分布式应用程序。EDAS提供了一系列的功能和工具,包括微服务架构、容器化部署、服务治理、流量控制、故障诊断等,可以帮助企业实现分布式应用的快速迭代和运维管理。
1425 0
|
Ubuntu 编译器 C语言
Ubuntu安装gcc和g++图文教程
Ubuntu安装gcc和g++图文教程
1870 0
|
SQL 数据库 Windows
若依代码生成详细教程
我觉得若依官方的代码生成教程过于简单,网上的教程很多连个效果图都没有。 本文要达到的效果如下:[学生管理] 下有个 [学生信息] 菜单,里面可以增删改查。
6061 0
若依代码生成详细教程
|
安全 搜索推荐 vr&ar
脑机接口:人类认知与技术的深度融合
【9月更文挑战第13天】脑机接口(BMI)技术正快速发展,成为连接人类认知与高科技领域的桥梁。本文从定义、原理、应用及挑战等方面全面探讨了这一前沿技术。脑机接口通过测量大脑活动,转化为外部设备的控制信号,已在疾病治疗、运动功能恢复、认知改善及AR/VR等领域展现巨大潜力。然而,技术难度、伦理安全及成本问题仍需克服。未来,随着技术进步,脑机接口有望更广泛地应用于日常生活,引领科技新方向。
|
存储 弹性计算 监控
【阿里云云原生专栏】成本优化策略:在阿里云云原生平台上实现资源高效利用
【5月更文挑战第29天】本文探讨了在阿里云云原生平台上实现资源高效利用和成本优化的策略。通过资源监控与评估,利用CloudMonitor和Prometheus等工具分析CPU、内存等使用情况,识别浪费。实施弹性伸缩策略,利用自动伸缩规则根据业务负载动态调整资源。借助容器化管理和Kubernetes编排提高资源利用率,优化存储选择如OSS、NAS,以及网络配置如VPC和CDN。示例展示了如何使用Kubernetes的HorizontalPodAutoscaler进行弹性伸缩,降低成本。
355 4
QT+OpenGL 摄像机
OpenGL本身没有摄像机的定义,但是我们可以通过把场景中的所有物体往相反方向移动的方式来模拟出摄像机,产生一种我们在移动的感觉。
356 0
|
SQL 分布式计算 Oracle
CDH 搭建_Hive_安装和创建用户|学习笔记
快速学习 CDH 搭建_Hive_安装和创建用户
960 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的语言课学习系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的语言课学习系统附带文章源码部署视频讲解等
118 3