MAVEN生命周期、阶段、插件、目标详解

本文详细介绍了MAVEN的生命周期,包括clean、default/build、site三个标准生命周期的阶段及其执行顺序。MAVEN通过插件执行任务,每个插件可在pom.xml中定义并包含多个目标。用户可以通过命令行指定阶段执行,如mvn compile执行default生命周期的compile阶段。此外,文章还讲解了如何直接运行插件目标,以及插件仓库的配置和检索顺序,强调了中央仓库的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面

MAVEN是一个依赖插件执行的框架,每个任务实际上是由插件完成,插件是在pom.xml中使用plugins标签定义的,每个插件可以包含多个目标。
MAVEN定义了三个标准的生命周期(clean、default/build、site),每个生命周期包含了一些列的阶段,生命周期中的某个阶段和插件的目标进行了默认绑定,当然生命周期的阶段与插件目标也支持自定义绑定。

生命周期与阶段

MAVEN默认以下三个标准的生命周期,同一个生命周期中的阶段是有先后顺序的,并且后面的阶段依赖于前面的阶段:

生命周期描述阶段数量(个)
clean用于清理项目3
default用于构建项目23
clean用于建立站点4

①. CLEAN生命周期中的3个阶段:在这里插入图片描述
②. DEFAULT生命周期中的23个阶段
在这里插入图片描述
③. SITE生命周期中的4个阶段
在这里插入图片描述

如何运行生命周期中的阶段?

在执行MAVEN命令时,mvn命令之后使用的参数便是MAVEN的各个阶段。
mvn 阶段名

①. mvn compile:默认执行deault生命周期的compile之前的所有阶段(含compile阶段),共7个阶段。
②. mvn clean package:默认执行clean生命周期的clean之前的所有阶段(含clean阶段)和default生命周期package之前的所有阶段(含package阶段),共2 + 17个阶段。

内置插件

关于内置插件相关可以参考:MAVEN简介

如何运行插件?

可使用“插件名:目标名”的形式直接运行某插件的某个目标。
mvn dependency:copy-dependencies:默认执行了dependency插件的copy-dependencies目标。

阶段和插件目标可以同时使用:
mvn clean dependency:copy-dependencies package:默认执行clean生命周期的clean之前的所有阶段(含clean阶段)、dependency插件的copy-dependencies目标、default生命周期package之前的所有阶段(含package阶段)。

插件仓库

关于项目依赖构件的仓库详解可以参照:MAVEN仓库<repositories>详解

与项目依赖构件一样,插件同样基于坐标存储在MAVEN仓库中,插件仓库使用pluginRepositories标签进行定义。MAVEN内置的插件仓库如下:

<pluginRepositories>
   <pluginRepository>
       <id>central</id>
       <name>Maven Plugin Repository</name>
       <url>http://repo1.maven.org/maven2</url>
       <layout>default</layout>
       <snapshots>
           <enabled>false</enabled>
       </snapshots>
       <releases>
           <updatePolicy>never</updatePolicy>
       </releases>
   </pluginRepository>
</pluginRepositories>

一般情况下中央仓库包含了常用的插件,无需再配置其他的插件仓库。当项目使用的插件无法在中央仓库找到,或者自己编写了插件,这个时候可以在pom.xml或者settings.xml中加入其他的插件仓库配置。

插件仓库的请求顺序

项目根据以下顺序获取项目需要的插件:
1.本地仓库 -》2.中央仓库(MAVEN缺省的远程插件仓库) -》3.远程仓库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

cloneme01

谢谢您的支持与鼓励!

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

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

打赏作者

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

抵扣说明:

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

余额充值