Maven的生命周期及常用命令
文章目录
- 1、Maven生命周期
- 1.1、clean生命周期
- 1.2、default生命周期
- 1.3、site生命周期
- 2、Maven常用命令
1、Maven生命周期
Maven有三套生命周期系统:
1、clean生命周期
2、default生命周期
3、site生命周期
三套生命周期之间相互独立,每套生命周期包含一些阶段,阶段是有顺序的,后面的阶段依赖于前面的阶段。
1.1、clean生命周期
clean生命周期的主要目的是清理项目
,包含三个阶段:
1、pre-clean:执行一些需要在clean之前完成的工作;
2、clean:清理上一次构建生成的文件;
3、post-clean:执行清理后需要完成的工作。
可以使用mvn clean
来调用上边的clean命令
,由于后面阶段的命令依赖于前边的阶段,所以执行 mvn clean相当于执行了mvn pre-clean clean
,如果运行mvn post-clean,那么pre-clean,clean都会被运行
。
1.2、default生命周期
这是 Maven 的主要生命周期,被用于构建应用,包括下面的 23 个阶段:
生命周期阶段 | 描述 |
---|---|
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(部署) | 将最终的项目包复制到远程仓库中与其他开发者和项目共享。 |
1.3、site生命周期
site生命周期的主要作用是建立和发布站点
,主要包含以下4个步骤:
1、pre-site:执行一些需要在生成站点文档之前完成的工作;
2、site:生成项目的站点文档;
3、post-site: 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备;
4、site-deploy:将生成的站点文档部署到特定的服务器上。
这里经常用到的是site阶段和site-deploy阶段,用以生成和发布Maven站点。
2、Maven常用命令
# 完成源代码的编译,编译后的class文件输出到target目录下
mvn compile
# 测试命令
mvn test
# 工程清理命令,执行clean会删除target目录及其下的内容
mvn clean
# 工程打包,将项目打成jar包
mvn package
# 工程的安装命令,将项目打成的jar包发布到本地仓库
mvn install
# 将打好的包发布到远程仓库
mvn deploy
相关文章:
Maven的生命周期及常用命令
文章目录1、Maven生命周期1.1、clean生命周期1.2、default生命周期1.3、site生命周期2、Maven常用命令1、Maven生命周期 Maven有三套生命周期系统: 1、clean生命周期 2、default生命周期 3、site生命周期 三套生命周期之间相互独立,每套生命周期包含一…...
【Java开发】JUC基础 03:线程五大状态和主要方法
1 概念介绍📌 五大状态:new:Thread t new Thread(); 线程对象一旦被创建就进入到了新生状态;就绪状态:当调用start()方法,线程立即进入就绪状态,但不意味着立即调度执行;运行状态&a…...
docker打包容器 在另一个机器上运行
1:将运行中的容器变为镜像docker commit 容器id 镜像名(docker commit 89e81386d35e aabbcc)2:将容器打包成tar包docker save -o xxx.tar 镜像名 (当前路径下会生成一个tar的文件)3:将tar包压缩为gz包tar -…...
2023年全国最新保安员精选真题及答案9
百分百题库提供保安员考试试题、保安职业资格考试预测题、保安员考试真题、保安职业资格证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 91.护卫对象在公共场所参加活动前,保安员需要事先(࿰…...
arduino-sentry2之卡片篇
欧克,今天在学生的强烈要求下 我又重启arduino的sentry2调试篇 目前实验结果,可以检测到10张交通卡片 也就是如图所示十张 具体视频如下: https://live.csdn.net/v/279170 具体代码如下: #include <Arduino.h> #include <...
七、JUC并发工具
文章目录JUC并发工具CountDownLatch应用&源码分析CountDownLatch介绍CountDownLatch应用CountDownLatch源码分析有参构造await方法countDown方法CyclicBarrier应用&源码分析CyclicBarrier介绍CyclicBarrier应用CyclicBarrier源码分析CyclicBarrier的核心属性CyclicBarr…...
C++ string类(二)及深浅拷贝
一、string类方法使用举例1.迭代器迭代器本质:指针(理解)迭代器:正向迭代器: begin() | end() 反向迭代器: rbegin() | rend()2.find使用//找到s中某个字符 void TestString3() {string s("AAADEFNUIE…...
「TCG 规范解读」TCG 软件栈 TSS (上)
可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alli…...
(二)Markdown编辑器的使用效果 | 以CSDN自带MD编辑器为例
Markdown编辑器使用指南 (一)Markdown编辑器的使用示例 | 以CSDN自带MD编辑器为例(二)Markdown编辑器的使用效果 | 以CSDN自带MD编辑器为例 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题…...
WebSocket网络通信执行流程
目录WebSocket网络通信执行流程相关概念执行流程WebSocket网络通信执行流程 WebSocket协议:通过单个TCP连接在客户端和服务器之间建立全双工双向通信通道。 WebSocket 对象:提供了用于创建和管理 WebSocket 连接,以及可以通过该连接发送和接…...
【Shell学习笔记】4.Shell 基本运算符
前言 本章介绍Shell的基本运算符。 Shell 基本运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符关系运算符布尔运算符字符串运算符文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现…...
无代码资讯 | 《低代码开发平台能力要求》发布;CADP列入Gartner《2022-2024 中型企业技术采用路线图》
栏目导读:无代码资讯栏目从全球视角出发,带您了解无代码相关最新资讯。TOP3 大事件1、《低代码开发平台能力要求》团体标准正式发布近日,中国电子工业标准化协会发布公告(中电标【2022】037 号),由中国电…...
智能家居Homekit系列一智能插座
WiFi智能插座对于新手接触智能家居产品更加友好,不需要额外购买网关设备 很多智能小配件也给我们得生活带来极大的便捷,智能插座就是其中之一,比如外出忘记关空调,可以拿起手机远程关闭。 简单说就是:插座可以连接wi…...
React(三):脚手架、组件化、生命周期、父子组件通信、插槽
React(三)一、脚手架安装和创建1.安装脚手架2.创建脚手架3.看看脚手架目录4.运行脚手架二、脚手架下从0开始写代码三、组件化1.类组件2.函数组件四、React的生命周期1.认识生命周期2.图解生命周期(1)Constructor(2&…...
2023年电子竞技行业报告
第一章 行业概况 电子竞技也被称为电竞或eSports,是一种电子游戏的竞技活动,玩家在这里与其他人或团队对战,通常是在网络上或特定场地上进行。 电子竞技行业的发展与互联网和计算机技术的进步密不可分,同时还受到游戏开发商、赞…...
小朋友就餐-课后程序(JAVA基础案例教程-黑马程序员编著-第八章-课后作业)
【案例8-5】 小朋友就餐问题 【案例介绍】 1.任务描述 一圆桌前坐着5位小朋友,两个人中间有一只筷子,桌子中央有面条。小朋友边吃边玩,当饿了的时候拿起左右两只筷子吃饭,必须拿到两只筷子才能吃饭。但是,小朋友在吃…...
大数据|Hadoop系统
目录 📚Hadoop介绍 📚Hadoop优点 📚Hadoop的体系结构 🐰HDFS的体系结构 🐰MapReduce的体系结构 🐰HDFS和MapReduce的协同作用 📚Hadoop与分布式开发 🐰MapReduce计算模型 &a…...
2.递归算法
递归算法的两个特点(很重要)调用自身要有结束条件void func1(int x) {printf("%d\n", x);func1(x - 1); }func1会一直死循环,没有使其结束的条件,所以不是递归void func2(int x) {if (x > 0){printf("%d\n"…...
MySQL---触发器
MySQL—触发器 将两个关联的操作步骤写到程序里面,并且要用事务包裹起来,确保两个操作称为一个原子操作,要么全部执行,要么全部不执行 创建一个触发器,让商品信息数据的插入操作自动触发库存数据的插入操作 …...
PXC高可用集群(MySQL)
1. PXC集群概述 1.1. PXC介绍 Percona XtraDB Cluster(简称PXC) 是基于Galera的MySQL高可用集群解决方案Galera Cluster是Codership公司开发的一套免费开源的高可用方案PXC集群主要由两部分组成:Percona Server with XtraDB(数据…...
pytorch-把线性回归实现一下。原理到实现,python到pytorch
线性回归 线性回归输出是一个连续值,因此适用于回归问题。回归问题在实际中很常见,如预测房屋价格、气温、销售额等连续值的问题。 与回归问题不同,分类问题中模型的最终输出是一个离散值。所说的图像分类、垃圾邮件识别、疾病检测等输出为离…...
js中判断数组的方式有哪些?
js中判断数组的方式有哪些?1.通过Object.prototype.toString.call来判断2.通过instanceof来判断3.通过constructor来判断4.通过原型链来判断5.通过ES6.Array.isAaary()来判断6.通过Array.prototype.isPrototypeOf来判断1.通过Object.prototype.toString.call来判断 …...
【2023unity游戏制作-mango的冒险】-5.攻击系统的简单实现
👨💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 收录于专栏:unity游戏制作 ⭐攻击系统的简单实现⭐ 文章目录⭐攻击系统的简单实现⭐👨…...
SpringMVC 面试题
1、什么是SpringMVC? SpringMVC是一个基于Java的实现了MVC设计模式的“请求驱动型”的轻量级WEB框架,通过把model,view,controller 分离,将web层进行职责的解耦,把复杂的web应用分成逻辑清晰的几个部分&am…...
布局三八女王节,巧借小红书数据分析工具成功引爆618
对于小红书“她”经济来说,没有比三八节更好的阵地了。伴随三八女王节逐渐临近,各大品牌蓄势待发,这场开春后第一个S级大促活动,看看品牌方们可以做什么? 洞察流量,把握节点营销时机 搜索小红书2023年的三…...
RISCV学习(1)基本模型认识
笔者来聊聊ARM的函数的调用规则 1、ARM函数调用规则介绍 首先介绍几个术语, AAPCS:Procedure Call Standard for the ARM ArchitectureAPCS:ARM Procedure Call StandardTPCS:Thumb Procedure Call StandardATPCS:AR…...
【java代码审计】命令注入
1 成因 开发者在某种开发需求时,需要引入对系统本地命令的支持来完成某些特定的功能,此时若未对用户的输入做严格的过滤,就可能发生命令注入。 2 造成命令注入的类或方法 Runtime类:提供调用系统命令的功能 ①Runtime.getRuntim…...
速锐得适配北汽EX系列电动汽车CAN总线应用于公务分时租赁
过去的几年,我们看到整个分时租赁业务出现断崖式下跌,这是我们看到这种市场情况,是必然,也是出乎意料。原本很多融资后的出行公司、大牌的出行服务商的分时租赁业务,受各种影响不得不转型成其他出行服务。例如…...
已解决ERROR: Failed building wheel for opencv-python-headless
已解决ERROR: Failed building wheel for opencv-python-headless Failed to build opencv-python-headless ERROR: Could not build wheels for opencv-python-headless, which is required to install pyproject.toml-based projects报错信息亲测有效 文章目录报错问题报错翻…...
每日获取安全资讯的网站,国内外共120个
国内 FreeBuf(https://www.freebuf.com/) 安全客(https://www.anquanke.com/) 雷锋网安全(https://www.leiphone.com/category/security) 先知社区(https://xz.aliyun.com/) CSDN安全…...
网站代更新/百度热线电话
从氟化工行业产业链看,氢氟酸是氟化工产业链的起点,而萤石是制取氢氟酸最经济、最关键的矿物原料。氟化工行业上游主要分成萤石、甲烷氯化物、液氯和电石,其中萤石矿行业的龙头企业有亿立萤石矿、泰华萤石矿、金石资源和敖汉萤石矿。 由于氟…...
企业网站排名怎么做/淘宝关键词优化技巧
要求: 用户在输入框输入内容时,上面的大号字体盒子con显示(这里面的字号更大) 实现思路: 表单检测用户输入:给表单添加键盘事件同时把快递单号里面的值value获取过来赋值给con盒子innerText做为内容如果…...
祥云网站建设/搜狗推广效果好吗
好久没有写博客了,这次准备写写我这几天的研究成果——Android插件化开发框架CJFrameForAndroid。 好久没有写博客了,这次准备写写我这几天的研究成果——Android插件化开发框架CJFrameForAndroid。背景交代 首先。你须要知道什么是插件化开发。就拿最常…...
苏州市住房和城乡建设局投折网站/厦门网站优化公司
蜀国最终灭亡,原因是后主愚暗,黄皓窃权、投机人士依附黄皓,这些确有道理。到底是什么原因使蜀国灭亡了呢? 其一: 刘禅,大家都知道刘禅昏庸无能,只觉得有诸葛相父,就万事大吉&#x…...
网站建设备案 优帮云/seo规则
Geometry Readers 背景阅读 SwiftUI内功之如何看待不完善的布局系统我们可以使用GeometryReader进入布局过程。最重要的是,我们可以使用它来接收视图的建议布局大小。 GeometryReader配置有ViewBuilder(就像其他任何容器视图一样)ÿ…...
中卫网站推广优化/在百度上做广告推广要多少钱
本文环境与前言之前写过一篇相关的文章:在.NET Core之前,实现.Net跨平台之MonoCentOSJexus初体验 当时的部署还是比较繁琐的,而且需要联网下载各种东西..有兴趣的可以看看,但是..已经过时了.. 虽然已经出了.NET Core2.0 但是目前是预览版本,而且部署来说 相对比较麻烦. 今天我们…...