当前位置: 首页 > news >正文

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的本质是一个项目管理工具&#xff0c;将项目开发和管理过程抽象成一个项目对象模型(POM)。Maven构建生命周期描述的是一次构建过程经历经历了多少个事件。对项目构建的生命周期划分为3套&#xff0c;其中clean负责清理工作&#xff0c;default负责核心工…...

真实3D地形生成器【免费在线】

Terrain3D是一个免费的在线3D地形生成器&#xff0c;只需指定地球上的坐标&#xff0c;就可以自动生成附近区域的3D地形同时叠加卫星影像&#xff0c;并且可以导出GLTF格式的3D地形模型。 推荐&#xff1a;使用 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的设计与思考

关于作者 谢振江&#xff0c;OceanBase 高级技术专家。 2015年加入 OceanBase, 从事存储引擎相关工作&#xff0c;目前在存储-索引与 DDL 组&#xff0c;负责索引&#xff0c;DDL 和 IO 资源调度相关工作。 回顾关系型数据库大规模应用以来的发展&#xff0c;从单机到分布式无…...

Qt线程池

目录1、线程池是什么&#xff1f;2、Qt线程池2.1、用法例程2.2、线程池对性能的提升2.3、运行算法单线程写法线程池写法1、线程池是什么&#xff1f; 线程池是一种线程使用模式&#xff0c;它管理着一组可重用的线程&#xff0c;可以处理分配过来的可并发执行的任务。 线程池设…...

设置table中的tbody

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>设置table中的tbody</title> </head> <body> <script> // 这里有json数据&#xff0c;是jav…...

2023美赛A题完整数据!思路代码数据数学建模

选取内蒙古河套灌区&#xff08;典型干旱区&#xff09;2010-2020年气温&#xff0c;降雨&#xff0c;蒸散发和水汽压月数据 包括四种主要作物及其占比 内容截图如下&#xff1a; 链接为&#xff1a;https://www.jdmm.cc/file/2708703 同时还提供参考代码和参考文章的选项~…...

Node.js安装与配置

Node.js安装与配置 前言 本篇博文记录了Node.js安装与环境变量配置的详细步骤&#xff0c;旨在为将来再次配置Node.js时提供指导方法。 另外&#xff1a;Node.js版本请根据自身系统选择&#xff0c;安装位置、全局模块存放位置和环境变量应根据自身实际情况进行更改。 Node…...

k8s(存储)数据卷与数据持久卷

为什么需要数据卷&#xff1f; 容器中的文件在磁盘上是临时存放的&#xff0c;这给容器中运行比较重要的应用程序带来一些问题问题1&#xff1a;当容器升级或者崩溃时&#xff0c;kubelet会重建容器&#xff0c;容器内文件会丢失问题2&#xff1a;一个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&#xff08;也就是小皮v8.1版本&#xff09;&…...

URL黑名单 扫描工具ua特征 GET(args)参数检查 cookie黑名单 POST参数检查参考代码

资源宝分享www.httple.net 文章目录URL黑名单扫描工具ua特征GET(args)参数检查cookie黑名单POST参数检查注&#xff1a;请先检查是否已设置URL白名单&#xff0c;若已设置URL白名单&#xff0c;URL黑名单设置将失效 多个URL配置需换行&#xff0c;一行只允许填写一个。可直接填…...

【软考系统架构设计师】2022下论文写作历年真题

【软考系统架构设计师】2022下论文写作历年真题 试题四 论湖仓一体架构及其应用&#xff08;75分&#xff09; 试题四 论湖仓一体架构及其应用 随着5G、大数据、人工智能、物联网等技术的不断成熟&#xff0c;各行各业的业务场景日益复杂&#xff0c;企业数据呈现出大规模、多…...

推荐3个好用的scrum敏捷项目管理工具

结合对工具的了解和使用心得&#xff0c;介绍在管理scrum中常见的一些工具基础的scrum工具&#xff1a;1、物理白板物理白板是实施scrum最简单直接的方式。之前我也说过&#xff0c;一些利弊。数据不能够沉淀等等。2、Excel表格表格的形式就是如果多人编辑时&#xff0c;不能实…...

每日学术速递2.17

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.LG 1.Decoupled Model Schedule for Deep Learning Training 标题&#xff1a;深度学习训练的解耦模型时间表 作者&#xff1a;Hongzheng Chen, Cody Hao Yu, Shuai Zheng, Zhen Zhang,…...

ElementUI`resetFields()`方法避坑

使用ElementUI中的resetFields()方法有哪些注意点 场景一 场景一&#xff1a;当编辑弹出框和新增弹出框共用时&#xff0c;编辑数据后关闭编辑弹出框时调用this.$refs.form.resetFields()无法清空弹出框 问题代码&#xff1a; // 点击新增按钮handleAdd() {this.dialogVi…...

如何保证数据库和缓存双写一致性?

前言 数据库和缓存&#xff08;比如&#xff1a;redis&#xff09;双写数据一致性问题&#xff0c;是一个跟开发语言无关的公共问题。尤其在高并发的场景下&#xff0c;这个问题变得更加严重。 我很负责的告诉大家&#xff0c;该问题无论在面试&#xff0c;还是工作中遇到的概率…...

Hinge Loss 和 Zero-One Loss

文章目录Hinge Loss 和 Zero-One LossHinge LossZero-One LossHinge Loss 和 Zero-One Loss 维基百科&#xff1a;https://en.wikipedia.org/wiki/Hinge_loss 图表说明&#xff1a; 纵轴表示固定 t1t1t1 的 Hinge loss&#xff08;蓝色&#xff09;和 Zero-One Loss&#xff…...

Linux下zabbix_proxy实施部署

简介 zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力. zabbix-agent可以指向多个proxy或者server zabbix-proxy不能指向多个server zabbix proxy 使用场景: 1&#xff0c;监控远程区…...

PDF-Parser-1.0一键部署教程:5分钟搞定文档解析神器,小白也能轻松上手

PDF-Parser-1.0一键部署教程&#xff1a;5分钟搞定文档解析神器&#xff0c;小白也能轻松上手 1. 为什么你需要这个文档解析工具&#xff1f; 你是不是经常遇到这样的烦恼&#xff1f; 下载了一份重要的PDF报告&#xff0c;想把里面的表格数据整理到Excel里&#xff0c;结果…...

CSS图片轮播进阶:5种实现无限循环滚动的实战技巧(附完整代码)

CSS图片轮播进阶&#xff1a;5种实现无限循环滚动的实战技巧&#xff08;附完整代码&#xff09; 在电商网站的首页或个人作品集的展示页面中&#xff0c;图片轮播&#xff08;Carousel&#xff09;始终是吸引用户注意力的利器。而无限循环滚动效果&#xff0c;则能让有限的展示…...

SJA1105Q升级踩坑记:RGMII V2.0时序下,33Ω串阻为何成了千兆通信的‘隐形杀手’?

SJA1105Q升级中的RGMII V2.0时序陷阱&#xff1a;33Ω串阻如何摧毁千兆通信稳定性 当NXP SJA1105Q这款号称"增强版"的工业交换机芯片落到我们硬件工程师手中时&#xff0c;谁曾想PCB上那些看似无害的33Ω小电阻&#xff0c;竟会成为千兆通信系统的阿喀琉斯之踵。这不…...

Pixel Dream Workshop 作品集:基于LSTM时序模型生成的动态艺术画展示

Pixel Dream Workshop 作品集&#xff1a;基于LSTM时序模型生成的动态艺术画展示 1. 当AI遇见艺术&#xff1a;LSTM如何创造动态视觉叙事 在数字艺术创作领域&#xff0c;时序模型正带来一场革命性的变化。Pixel Dream Workshop最新推出的动态艺术画系列&#xff0c;展示了长…...

Llama-3.2V-11B-cot代码实例:Streamlit中图片上传与缓存机制

Llama-3.2V-11B-cot代码实例&#xff1a;Streamlit中图片上传与缓存机制 1. 项目概述 Llama-3.2V-11B-cot是基于Meta Llama-3.2V-11B-cot多模态大模型开发的高性能视觉推理工具&#xff0c;专为双卡4090环境优化。该工具通过Streamlit构建了直观易用的交互界面&#xff0c;特…...

零基础玩转Qwen2.5-7B:5分钟本地部署,小白也能跑通AI对话

零基础玩转Qwen2.5-7B&#xff1a;5分钟本地部署&#xff0c;小白也能跑通AI对话 1. 前言&#xff1a;为什么选择Qwen2.5-7B AI大模型正在改变我们与技术互动的方式&#xff0c;但对于普通用户来说&#xff0c;部署和使用这些模型往往充满挑战。Qwen2.5-7B作为阿里开源的最新…...

ollama-QwQ-32B量化部署方案:在OpenClaw中实现低资源消耗

ollama-QwQ-32B量化部署方案&#xff1a;在OpenClaw中实现低资源消耗 1. 为什么需要量化部署大模型&#xff1f; 当我第一次尝试在本地笔记本上运行QwQ-32B模型时&#xff0c;16GB的内存瞬间被吃光&#xff0c;风扇狂转的声音像是在抗议。这让我意识到&#xff0c;想要在个人…...

HybridCLR Generate All报错终极解决指南:UnityLinker.exe找不到HotUpdate.dll怎么办?

HybridCLR Generate All报错终极解决指南&#xff1a;UnityLinker.exe找不到HotUpdate.dll怎么办&#xff1f; 当你正在使用HybridCLR进行Unity热更新开发时&#xff0c;突然遇到Generate All报错&#xff0c;提示UnityLinker.exe无法解析HotUpdate.dll&#xff0c;这确实会让人…...

OpenClaw技能扩展指南:为百川2-13B添加公众号发布模块

OpenClaw技能扩展指南&#xff1a;为百川2-13B添加公众号发布模块 1. 为什么需要公众号发布技能 上周我正忙着准备一篇技术分享文章&#xff0c;突然意识到一个痛点&#xff1a;每次写完Markdown文档后&#xff0c;手动复制到公众号编辑器、调整格式、上传封面、设置摘要的过…...

效率飙升:用快马生成可复用的wsl环境配置脚本,告别重复劳动

最近在团队协作和更换设备时&#xff0c;经常需要重复配置WSL开发环境&#xff0c;每次都要手动执行一堆命令&#xff0c;不仅耗时还容易遗漏步骤。经过多次实践&#xff0c;我总结出一套用脚本自动化配置的方法&#xff0c;现在通过InsCode(快马)平台就能快速生成可复用的环境…...