Maven的生命周期

article/2025/9/14 6:49:15

一、生命周期简介:

Maven强大的一个重要的原因是它有一个十分完善的生命周期模型,这个生命周期可以从两方面来理解:
运行Maven的每个步骤都由它来定义的,这种预定义的默认行为使得我们使用Maven变得简单。
这个模型是一种标准,在不同的项目中,使用Maven的接口是一样的,这样就不用去仔细理解每个项目的构建了,一般情况下,mvn clean install 这样的命令是通用的。
Maven的生命周期就是对所有的构建过程进行抽象和统一。包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有的构建步骤。Maven的生命周期是抽象的,即生命周期不做任何实际的工作,实际任务由插件完成,类似于Java设计模式中的模板模式。
在这里插入图片描述
生命周期与插件关系
Maven有三套相互独立的生命周期,分别是clean、default和site。每个生命周期包含一些阶段,阶段是有顺序的,后面的阶段依赖于前面的阶段。

二、clean生命周期:

清理项目,该生命周期包含三个阶段:

  1. pre-clean:执行一些需要在clean之前完成的工作。
  2. clean:清理上一次构建生成的文件。
  3. post-clean:执行清理后需要完成的工作。

mvn clean中的clean就是上面的clean。在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行,也就是说,mvn clean 等同于mvn pre-clean clean,如果我们运行mvn post-clean ,那么pre-clean,clean都会被运行。这是Maven很重要的一个规则,可以大大简化命令行的输入。

三、default生命周期:

构建项目,该生命周期包含了如下8个阶段:

  1. validate:验证工程是否正确,所有需要的资源是否可用。
  2. compile:编译项目的源代码。
  3. test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。
  4. Package:把已编译的代码打包成可发布的格式,比如jar。
  5. integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。
  6. verify:运行所有检查,验证包是否有效且达到质量标准。
  7. install:把包安装到maven本地仓库,可以被其他工程作为依赖来使用。
  8. Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。

四、site生命周期:

建立和发布项目站点,该生命周期包含四个阶段,如下所示:

  1. pre-site:生成项目站点之前需要完成的工作。
  2. site:生成项目站点文档。
  3. post-site:生成项目站点之后需要完成的工作。
  4. site-deploy:将项目站点发布到服务器。
    这里经常用到的是site阶段和site-deploy阶段,用以生成和发布Maven站点,这可是Maven相当强大的功能,管理员比较喜欢,文档及统计数据自动生成,很好看。

五、Maven指令与生命周期阶段的关系:

首先我们通过下图看一下Maven的整个生命周期顺序流程:
在这里插入图片描述
通过上图,我们可以看到Maven生命周期各个阶段的行为与Maven默认行为:

  1. mvn compile,让当前项目经历生命周期中的1—>7 阶段 :完成编译主源代码编译
  2. mvn package,让当前项目经历生命周期中的1—>17阶段 :完成打包
  3. mvn install,让当前项目经历生命周期中的1—>22阶段 :完成包安装到本地仓库
  4. mvn deploy,让当前生命经历生命周期中的1—>23阶段 :完成包部署到中心库中

http://chatgpt.dhexx.cn/article/FWrsXD73.shtml

相关文章

Maven 生命周期

1. Maven 构建生命周期 Maven 构建生命周期就是 Maven 将一个整体任务划分为一个个的阶段,类似于流程图,按顺序依次执行。也可以指定该任务执行到中间的某个阶段结束。Maven 的内部有三个构建生命周期,分别是 clean, default, site。其中 def…

Maven生命周期

Maven生命周期 个人网站 https://blog.deschen.cn/ 文章目录 Maven生命周期一、Maven生命周期的定义二、Maven三套独立的生命周期三、Maven的插件 一、Maven生命周期的定义 Maven的生命周期就是为了对所有的构建过程进行抽象和统一。包括项目的清理,初始化&#x…

Maven —— 生命周期

每个生命周期的各个环节都是由各种插件完成!!!Maven有三个相互独立的生命周期(Maven的这三个生命周期不能看成一个整体)!!! mvn clean:清理编译的项目mvn compile&#x…

代码统计利器--CLOC

MAC下安装命令:$ brew install cloc其他的linux安装 $ aptitude install cloc使用方法.到目录下运行: $ cloc .The default output will show you a breakdown by language. Here’s an example of what it’ll look like: php much? You can, of course, customize the poop …

代码统计工具cloc使用

简介 CLOC(Count Lines of Code),是一个可以统计多种编程语言中空行、评论行和物理行的工具。这个工具还是蛮实用的,可以帮我们快速了解一个项目中代码的信息。 安装使用 windows 10 win10下可以去github上下载其最新版,截止本文时&#…

windows代码量计算开源工具cloc安装和使用教程

windows代码量计算开源工具cloc 下载cloc使用cloc 下载cloc cloc下载地址: https://github.com/AlDanial/cloc/releases. 选择exe版本的,也可以下载我上传的1.90版本链接: 点击跳转下载地址 使用cloc 下载好cloc-1.90.exe之后,重命名未cloc.exe&…

Linux统计代码量命令cloc

记录一下Linux中一个非常好用的代码量统计命令:cloc 安装步骤: sudo apt-get install cloc使用方法: 进入到要统计的工程根目录: cloc .运行结果:

Windows环境下用cloc统计代码量

cloc一款开源代码统计工具,支持windows和Linux环境。能统计指定文件夹或文件夹中文件数files、空白行数blank、注释行数comment和代码行数code。今天介绍windows环境下的使用方法。 使用简单: 下载: Releases AlDanial/cloc (github.com)…

代码统计工具CLOC的使用

简介 CLOC(Count Lines of Code),是一个可以统计多种编程语言中空行、评论行和物理行的工具。这个工具还是蛮实用的,可以帮我们快速了解一个项目中代码的信息。 安装使用 windows 10 win10下可以去github上下载其最新版,截止本文时&#…

cloc 代码统计工具

安装 yum -y install cloc使用 [rootnode1 new-website]# cloc .135 text files.134 unique files.20 files ignored.github.com/AlDanial/cloc v 1.70 T3.63 s (32.0 files/s, 26416.0 lines/s) ------------------------------------------------------------------------…

10分钟掌握高效代码行统计工具——cloc

cloc 一款高效的代码行统计工具,且跨多平台: WindowLinuxMac… … 高效是其优点,且稳定性比较好。 Linux版的可以处理超大工程的文件,不会出现其它同类工具在处理超大文件时崩溃的问题。 用法简单,学习成本低&…

前端代码统计工具cloc的安装与使用

怎么来衡量一个web端项目的大小,一是看页面多少,二是看源代码行数。页面多少比较好统计,通过 Router 的配置大概就能知道。但是源代码行数,如果要一个文件一个文件去计算,那就费了劲了。有问题有需求,就会有…

“无法启动mysql服务,错误1053”解决办法

启动MySQL服务时,报错如下: 1.“CTRLR”打开运行窗口,输入regedit点击确定打开注册表编辑器 2.找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL目录 3.修改ImagePath路径为mysqlld.exe路径,重启服务即可

解决Windows服务1053错误方法

WCF使用MSMQ绑定寄宿在Windows服务上,但启动服务时出现1053错误 在网上搜索了N多解决方案,都是比较高深的扯到原理和系统bug等问题 看了看到最后也没有解决,最终我决定使用一个比较山寨的但很有用的方式查看问题所在,所以就在代码…

windows无法启动MySQL服务出现1053错误原因之一

今天去使用mysql的时候出现了这样一个问题 我以为是mysql服务没开,去开启服务的时候出现 错误原因 服务的路径与安装的路径不一致,之前安装过mysql后卸载重装容易出现这样的问题,要么就是你可能从计算机上面卸载什么,组件程序&a…

无法启动OracleDBConsoleorcl服务,错误:1053 的解决办法 .

在控制面板里启动oracle的服务,其中启动OracleDBConsoleorcl服务时出错,提示:在本地计算机无法启动OracleDBConsoleorcl服务。错误:1053:服务没有及时相应启动或控制请求。重启电脑之后依然如故。请问怎么解决呢&#…

系统错误1058的解决办法

今天打算写个关闭windows系统服务的程序,发现了个错误 错误描述:无法启动Themes服务 错误详细步骤: 1.我以前禁用了服务themes 2.现在手动修改注册表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Themes中的"Start"为3…

Win11安装mysql 服务无法启动 1053错误之解决方法

手动启动的时候报错1053. 网上查询解决方法 MySQL启动1053错误之解决方法_小智解说的博客-CSDN博客_mysql1053 方法一: 重装mysql,重装后发现还是启动失败 方法二 为提高网络服务权限,需将网络服务添加到管理员组 计算机->管理->本地…

计算机Auto服务错误1053,服务启动1053错误解决步骤

我们在使用电脑是由于各种原因,需要对一些服务进行启动,可是有些用户却遇到了一些问题,比如有用户在启动某服务的时候,却发现启动不了,提示服务启动1053错误,那么遇到这样的问题该如何处理呢?下…

sqlserver2000代理无法启动 报错 1053,已解决。

背景: win7 64位系统,上安装着sqlserver2000,打补丁失败后,代理启动失败。 出现2个问题: 1、 点击代理,报错,提示 “发生错误 缺少xpstar.dll” 2、下载 xpstar.dll,下载,简介,描述,修复,等…