【精】讲透Maven-- Build Lifecycle, Phases和 Goals

本文深入解析Maven的构建生命周期,包括default、clean和site三种内置生命周期,以及phase和goal的概念。phase按顺序执行,goal是构建任务的最小单元,可以绑定到特定phase上。通过mvn命令,我们可以指定执行到哪个phase,所有之前的phase和其上的goal都会被执行。此外,一些goal不绑定到phase,可直接通过命令行执行。
摘要由CSDN通过智能技术生成

Maven是个很强大的构建项目的工具,日常中大部分Java项目都是通过Maven来构建的。在看开源项目或者从0到1构建一个项目时,总会在pom.xml里遇到build标签、phase标签、goal标签等,那么build、phase、goal都是什么意思呢?本文就来尝试尽量讲透它们。

开始之前说个总结性质的结论,让大家在脑子先有个概念:maven对构建(build)的过程进行了抽象和定义,这个过程被称为构建的生命周期(lifecycle)。生命周期(lifecycle)由多个阶段(phase)组成,每个阶段(phase)又会被一到多个goal绑定。goal是maven里定义任务的最小单元。

OK,那我们首先来说一下build lifecycle (build 生命周期)

当我们构建一个maven项目时,会根据pom.xml中的配置和mvn命令行选项执行一系列具体的任务。这些任务集合就组成了maven build lifecycle。

Maven内置了三种Build的生命周期:

  1. default: handles project build and deployment
  2. clean: handles project cleaning
  3. site: handles the creation of project site documentation

每一种build的生命周期都会经历一系列执行的阶段,这些阶段就是phases。举个例子,上面三种内置build中的default 的生命周期主要由以下phase组成:

  • validate
  • compile
  • test
  • package
  • verify
  • install
  • deploy

这些build phases按顺序执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叹了口丶气

觉得有收获就支持一下吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值