Maven怎样构建生命周期?
项目构建生命周期
Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)。Maven构建生命周期描述的是一次构建过程经历经历了多少个事件。对项目构建的生命周期划分为3套,其中clean负责清理工作,default负责核心工作,例如编译,测试,打包,部署等。site负责产生报告,发布站点等。

clean生命周期
pre-clean:执行一些需要在clean之前完成的工作
clean:移除所有上一次构建生成的文件
post-clean:执行一些需要在clean之后立刻完成的工作

default:构建生命周期
validate(校验):校验项目是否正确并且所有必要的信息可以完成项目的构建过程。
initialize(初始化):初始化构建状态,比如设置属性值。
generate-sources(生成源代码):生成包含在编译阶段中的任何源代码。
process-sources(处理源代码):处理源代码,比如说,过滤任意值。
generate-resources(生成资源文件):生成将会包含在项目包中的资源文件。
process-resources (处理资源文件):复制和处理资源到目标目录,为打包阶段最好准备。
compile(编译):编译项目的源代码。
process-classes(处理类文件):处理编译生成的文件,比如说对Java class文件做字节码改善优化。
generate-test-sources(生成测试源代码):生成包含在编译阶段中的任何测试源代码。
process-test-sources(处理测试源代码):处理测试源代码,比如说,过滤任意值。
generate-test-resources(生成测试资源文件):为测试创建资源文件。
process-test-resources(处理测试资源文件):复制和处理测试资源到目标目录。
test-compile(编译测试源码):编译测试源代码到测试目标目录。
process-test-classes(处理测试类文件):处理测试源码编译生成的文件。
test(测试):使用合适的单元测试框架运行测试(Juint是其中之一)。
prepare-package(准备打包):在实际打包之前,执行任何的必要的操作为打包做准备。
package(打包):将编译后的代码打包成可分发格式的文件,比如JAR、WAR或者EAR文件。
pre-integration-test(集成测试前):在执行集成测试前进行必要的动作。比如说,搭建需要的环境。
integration-test(集成测试):处理和部署项目到可以运行集成测试环境中。
post-integration-test(集成测试后):在执行集成测试完成后进行必要的动作。比如说,清理集成测试环境。
verify(验证):运行任意的检查来验证项目包有效目达到质量标准。
install(安装):安装项目包到本地仓库,这样项目包可以用作其他本地项目的依赖。
deploy(部署):将最终的项目包复制到远程仓库中与其他开发者和项目共享。
site构建生命周期
pre-site:执行一些需要在生成站点文档之前完成的工作
site:生成项目的站点文档
post-site:执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
site-deploy:将生成的站点文档部署到特定的服务器上
default构建生命周期
validate(校验):校验项目是否正确并且所有必要的信息可以完成项目的构建过程。
initialize(初始化):初始化构建状态,比如设置属性值。
generate-sources(生成源代码):生成包含在编译阶段中的任何源代码。
process-sources(处理源代码):处理源代码,比如说,过滤任意值。
generate-resources(生成资源文件):生成将会包含在项目包中的资源文件。
process-resources (处理资源文件):复制和处理资源到目标目录,为打包阶段最好准备。
compile(编译):编译项目的源代码。
process-classes(处理类文件):处理编译生成的文件,比如说对Java class文件做字节码改善优化。
generate-test-sources(生成测试源代码):生成包含在编译阶段中的任何测试源代码。
process-test-sources(处理测试源代码):处理测试源代码,比如说,过滤任意值。
generate-test-resources(生成测试资源文件):为测试创建资源文件。
process-test-resources(处理测试资源文件):复制和处理测试资源到目标目录。
test-compile(编译测试源码):编译测试源代码到测试目标目录.
process-test-classes(处理测试类文件):处理测试源码编译生成的文件。
test(测试):使用合适的单元测试框架运行测试(Juint是其中之一)。
prepare-package(准备打包):在实际打包之前,执行任何的必要的操作为打包做准备。
package(打包):将编译后的代码打包成可分发格式的文件,比如JAR、WAR或者EAR文件。
pre-integration-test(集成测试前):在执行集成测试前进行必要的动作。比如说,搭建需要的环境。
integration-test(集成测试):处理和部署项目到可以运行集成测试环境中。
post-integration-test(集成测试后):在执行集成测试完成后进行必要的动作。比如说,清理集成测试环境。
verify (验证)}:运行任意的检查来验证项目包有效且达到质量标准。
install(安装):安装项目包到本地仓库,这样项目包可以用作其他本地项目的依赖。
deploy(部署):将最终的项目包复制到远程仓库中与
插件
插件与生命周期内的阶段绑定,在执行到对应生命周期时执行对应的插件功能
默认maven在各个生命周期上绑定有预设的功能
通过插件可以自定义其他功能
插件与生命周期内的阶段绑定,在执行到对应生命周期时执行对应的插件功能
默认maven在各个生命周期上绑定有预设的功能
通过插件可以自定义其他功能,示例代码如下:
<build><plugins><plugin><groupid>org.apache.maven.plugins</groupid><artifactid>maven-source-plugin</artifactid><version>2.2.1</version><executions><execution><goals><goal>jar</goal></goals><phase>generate-test-resources</phase></execution></executions></plugin></plugins></build>
相关文章:
Maven怎样构建生命周期?
项目构建生命周期Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)。Maven构建生命周期描述的是一次构建过程经历经历了多少个事件。对项目构建的生命周期划分为3套,其中clean负责清理工作,default负责核心工…...
真实3D地形生成器【免费在线】
Terrain3D是一个免费的在线3D地形生成器,只需指定地球上的坐标,就可以自动生成附近区域的3D地形同时叠加卫星影像,并且可以导出GLTF格式的3D地形模型。 推荐:使用 NSDT场景设计器 快速搭建 3D场景。 使用Terrain3D生成真实世界的3…...
华为OD机试 - 整数编码(Python)
整数编码 题目 实现一个整数编码方法 使得待编码的数字越小 编码后所占用的字节数越小 编码规则如下 编码时7位一组,每个字节的低 7 位用于存储待编码数字的补码字节的最高位表示后续是否还有字节,置1表示后面还有更多的字节,置0表示当前字节为最后一个字节采用小端序编码…...
【GlobalMapper精品教程】051:融合Dissolve操作详解
本节讲解globalmapper中融合Dissolve工具的使用。 文章目录 一、工具介绍1. 工具位置2. 融合工具二、案例实战1. 加载实验数据2. 根据字段分组融合案例一:根据地类名称分组,将相同的类型融合到一起。案例二:根据权属地类名称分组,将相同的类型融合到一起。一、工具介绍 1.…...
Java Excel的数据导入导出
引入依赖 <!-- EasyExcel --> <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.7</version> </dependency><!--csv文件操作--> <dependency><groupId>n…...
OceanBase 4.0解读:兼顾高效与透明,我们对DDL的设计与思考
关于作者 谢振江,OceanBase 高级技术专家。 2015年加入 OceanBase, 从事存储引擎相关工作,目前在存储-索引与 DDL 组,负责索引,DDL 和 IO 资源调度相关工作。 回顾关系型数据库大规模应用以来的发展,从单机到分布式无…...
Qt线程池
目录1、线程池是什么?2、Qt线程池2.1、用法例程2.2、线程池对性能的提升2.3、运行算法单线程写法线程池写法1、线程池是什么? 线程池是一种线程使用模式,它管理着一组可重用的线程,可以处理分配过来的可并发执行的任务。 线程池设…...
设置table中的tbody
<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>设置table中的tbody</title> </head> <body> <script> // 这里有json数据,是jav…...
2023美赛A题完整数据!思路代码数据数学建模
选取内蒙古河套灌区(典型干旱区)2010-2020年气温,降雨,蒸散发和水汽压月数据 包括四种主要作物及其占比 内容截图如下: 链接为:https://www.jdmm.cc/file/2708703 同时还提供参考代码和参考文章的选项~…...
Node.js安装与配置
Node.js安装与配置 前言 本篇博文记录了Node.js安装与环境变量配置的详细步骤,旨在为将来再次配置Node.js时提供指导方法。 另外:Node.js版本请根据自身系统选择,安装位置、全局模块存放位置和环境变量应根据自身实际情况进行更改。 Node…...
k8s(存储)数据卷与数据持久卷
为什么需要数据卷? 容器中的文件在磁盘上是临时存放的,这给容器中运行比较重要的应用程序带来一些问题问题1:当容器升级或者崩溃时,kubelet会重建容器,容器内文件会丢失问题2:一个Pod中运行多个容器并需要共…...
php5.6.9安装sqlsrv扩展(windows)
报错:Marning: PHP Startup: Unable to load dynamic 1library D:lphpstudy_prolExtensionslphpl(phps.6.9ntslextphp_ pdo_sqlsry 56 nts′找不到指定的模块。in Unknown on line 0 整整搞了一天才终于解决 我用的是phpstudy_pro(也就是小皮v8.1版本)&…...
URL黑名单 扫描工具ua特征 GET(args)参数检查 cookie黑名单 POST参数检查参考代码
资源宝分享www.httple.net 文章目录URL黑名单扫描工具ua特征GET(args)参数检查cookie黑名单POST参数检查注:请先检查是否已设置URL白名单,若已设置URL白名单,URL黑名单设置将失效 多个URL配置需换行,一行只允许填写一个。可直接填…...
【软考系统架构设计师】2022下论文写作历年真题
【软考系统架构设计师】2022下论文写作历年真题 试题四 论湖仓一体架构及其应用(75分) 试题四 论湖仓一体架构及其应用 随着5G、大数据、人工智能、物联网等技术的不断成熟,各行各业的业务场景日益复杂,企业数据呈现出大规模、多…...
推荐3个好用的scrum敏捷项目管理工具
结合对工具的了解和使用心得,介绍在管理scrum中常见的一些工具基础的scrum工具:1、物理白板物理白板是实施scrum最简单直接的方式。之前我也说过,一些利弊。数据不能够沉淀等等。2、Excel表格表格的形式就是如果多人编辑时,不能实…...
每日学术速递2.17
CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.LG 1.Decoupled Model Schedule for Deep Learning Training 标题:深度学习训练的解耦模型时间表 作者:Hongzheng Chen, Cody Hao Yu, Shuai Zheng, Zhen Zhang,…...
ElementUI`resetFields()`方法避坑
使用ElementUI中的resetFields()方法有哪些注意点 场景一 场景一:当编辑弹出框和新增弹出框共用时,编辑数据后关闭编辑弹出框时调用this.$refs.form.resetFields()无法清空弹出框 问题代码: // 点击新增按钮handleAdd() {this.dialogVi…...
如何保证数据库和缓存双写一致性?
前言 数据库和缓存(比如:redis)双写数据一致性问题,是一个跟开发语言无关的公共问题。尤其在高并发的场景下,这个问题变得更加严重。 我很负责的告诉大家,该问题无论在面试,还是工作中遇到的概率…...
Hinge Loss 和 Zero-One Loss
文章目录Hinge Loss 和 Zero-One LossHinge LossZero-One LossHinge Loss 和 Zero-One Loss 维基百科:https://en.wikipedia.org/wiki/Hinge_loss 图表说明: 纵轴表示固定 t1t1t1 的 Hinge loss(蓝色)和 Zero-One Lossÿ…...
Linux下zabbix_proxy实施部署
简介 zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力. zabbix-agent可以指向多个proxy或者server zabbix-proxy不能指向多个server zabbix proxy 使用场景: 1,监控远程区…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
