Maven(四)常用命令大全
目录
- 一、mvn 命令参数
- 二、mvn 插件命令
- 1.介绍
- 2.查看插件的使用文档
- 3.常用的插件命令
- 官网地址: https://maven.apache.org/
- 官方插件清单: https://maven.apache.org/plugins/index.html
Maven 是一个强大的构建工具,它提供了许多命令来进行项目构建、依赖管理和测试等操作。本文主要介绍一些常用的 Maven 命令。
在介绍 Maven 命令之前,需要从认知上理解 Maven 命令的构成。
Maven 命令主要分为两种:
mvn 命令参数:这里涵盖了mvn后所有以-开头的参数。mvn 插件命令:其实我们平时使用最多的 clean、package、install 等命令都是 Maven 官方提供的插件,除此之外我们还可以字节编写插件进行扩展。
一、mvn 命令参数
mvn -v, --version 显示版本信息。
mvn -V, --show-version 显示版本信息后继续执行 Maven 其他目标。
mvn -h, --help 显示帮助信息。
mvn -e, --errors 控制 Maven 的日志级别,显示执行错误相关的消息。
mvn -X, --debug 控制 Maven 的日志级别,显示执行调试信息。
mvn -q, --quiet 控制 Maven 的日志级别,仅显示错误信息。
mvn -Pxxx 激活 id 为 xxx 的 profile(如有多个,用逗号隔开)。
mvn -Dxxx=yyy 指定 java 的全局属性。
mvn -o, --offline 运行 offline 模式,不联网更新依赖。
mvn -N, --non-recursive 尽在当前项目模块执行命令,不构建子模块。
mvn -pl, --module_name 在指定模块上执行命令。
mvn -ff, --fail-fast 遇到构建失败就直接退出。
mvn -fn, --fail-never 无论项目结果如何,构建从不失败。
mvn -fae, --fail-at-end 仅影响构建结果,允许不受影响的构建继续。
mvn -C, --strict-checksums 如果校验码不匹配的话,构建失败。
mvn -c, --lax-checksums 如果校验码不匹配的话,产生告警。
mvn -U 强制更新 SNAPSHOT 类型的插件或依赖库(否则 Maven 一天只会更新一次 SNAPSHOT 依赖)。
mvn -npu, --no-plugin-updates 对任何相关的注册插件,不进行最新检查(使用该选项使 Maven 表现出稳定的行为,该稳定行为基于本地仓库当前可用的所有插件版本)。
mvn -cpu, --check-plugin-updates 对任何相关的注册插件,强制进行最新检查(即使项目 POM 里明确规定了 Maven 插件版本,还是会强制更新)。
mvn -up, --update-plugins 与 mvn -cpu 作用相同。
mvn -B, --batch-mode 在非交互(批处理)模式下运行(该模式下,当 Maven 需要输入时,它不会停下来接收用户的输入,而是使用合理的默认值)。
mvn -f, --file <file> 强制使用备用的 POM 文件。
mvn -s, --settings <arg> 用户配置文件的备用路径。
mvn -gs, --global-settings <file> 全局配置文件的备用路径。
mvn -emp, --encrypt-master-password <password> 加密主安全密码,存储到 Maven 的 settings 文件里。
mvn -ep, --encrypt-password <password> 加密服务器密码,存储到 Maven 的 settings 文件里。
mvn -npr, --no-plugin-registry 对插件版本不适用 ~/.m2/plugin-registry.xml(插件注册表)里的配置。
二、mvn 插件命令
1.介绍
其实我们平时使用最多的 clean、package、install 等命令都是 Maven 官方提供的插件,除此之外我们还可以字节编写插件进行扩展。
官方插件清单: https://maven.apache.org/plugins/index.html
这里我们主要讲解一下如何查看插件的官方文档,以及常用的插件命令。
2.查看插件的使用文档
Maven 的官方插件主要分为四类:
核心插件:包括 clean、compiler、deploy、install 等。打包插件:包括 jar、war、ejb、source 等。报告插件:包括 javadoc 等。工具插件:包括 antrun、archetype、dependency、help 等。
查看 Maven 插件的官方文档,这里我们主要用到了工具插件中的 help 插件。
用法:
mvn help:describe -Dplugin=插件名
例如:我想查看 dependency 命令的使用文档:
mvn 命令:
mvn help:describe -Dplugin=dependency
执行结果:

补充: 如果之前没有使用过 help 插件,第一次执行会先进行 Download,时间,后面就会直接执行了。
3.常用的插件命令
mvn clean:清理项目目录,删除 target 目录和生成的构建文件。
mvn compile:编译源代码,并将编译后的类文件存储在 target 目录中。
mvn test-compile:编译测试代码。
mvn test:运行项目的单元测试。
mvn site:产生 site。
mvn package:打包项目,并将生成的构建文件(例如:JAR、WAR)存储在 target 目录中。
mvn install:安装项目到本地 Maven 仓库,以供其他项目使用。
mvn deploy:将项目部署到远程仓库,例如 Maven 私服。
mvn clean install:清理项目目录并执行安装操作。
mvn clean package:清理项目目录并执行打包操作。
mvn dependency:tree:显示项目的依赖树。
mvn dependency:resolve:解析项目的依赖关系,并下载缺失的依赖项。
mvn archetype:create
-
mvn archetype:create -DgroupId=packageName -DartifactId=projectName:使用 Maven 的 archetype 插件,创建一个 Maven 的普通 java 项目。 -
mvn archetype:create -DgroupId=packageName -DartifactId=projectName -DarchetypeArtifactId=maven-archetype-webapp:使用 Maven 的 archetype 插件,创建一个 Maven 的 Web 项目。
mvn archetype:generate:使用 Maven 的 archetype 插件,创建一个新的 Maven 项目结构。
mvn eclipse:eclipse:使用 Maven 的 eclipse 插件,生成 eclipse 项目。
mvn idea:idea:使用 Maven 的 idea 插件,生成 idea 项目。
mvn jar:jar:只打 jar 包。
mvn test -skipping compile -skipping test-compile:跳过源代码的编译和测试代码的编译,运行项目的单元测试。
mvn eclipse:clean:清除 eclipse 的一些系统设置。
mvn help:help:使用 Maven 的 help 插件,显示 Maven 帮助信息。
以上这些命令是 Maven 中最常用的一些命令,可以根据项目需求和具体情况来选择使用。同时,Maven 还提供了许多其他命令和插件,可以根据具体需求进行查阅和使用。你可以通过运行 mvn --help 来获取所有可用的 Maven 命令,去官网插件清单查看所有可用插件。
整理完毕,完结撒花~ 🌻
参考地址:
1.maven常用命令大全(附详细解释),https://blog.csdn.net/good_good_xiu/article/details/116740333
2.maven常用命令集合(收藏大全),https://zhuanlan.zhihu.com/p/355889432
3.Maven查看插件信息,https://blog.csdn.net/bugzeroman/article/details/120739886
相关文章:
Maven(四)常用命令大全
目录 一、mvn 命令参数二、mvn 插件命令1.介绍2.查看插件的使用文档3.常用的插件命令 官网地址: https://maven.apache.org/官方插件清单: https://maven.apache.org/plugins/index.html Maven 是一个强大的构建工具,它提供了许多命令来进行项…...
13.3 目标检测和边界框
锚框的计算公式 假设原图的高为H,宽为W 详细公式推导 以同一个像素点为锚框,可以生成 (n个缩放 m个宽高比 -1 )个锚框 锚框的作用: 不用直接去预测真实框的四个坐标,而是: 1.先生成多个锚框。 2.预测每个锚框里是否含有要预测…...
TCP/IP网络江湖初探:物理层的奥秘与传承(物理层上篇-基础与本质)
〇、引言 在这个数字时代,计算机网络如同广袤的江湖,数据在其中畅游,信息传递成为了生活的常态。然而,在这个充满虚拟奇观的网络江湖中,隐藏着一个不容忽视的存在,那就是物理层,这个江湖的基石。就如同江湖中的土地一样,物理层作为计算机网络的基础,承载着数据的最初转…...
计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析
目录 一、引言1.1 计算机视觉的定义1.1.1 核心技术1.1.2 应用场景 1.2 历史背景及发展1.2.1 1960s-1980s: 初期阶段1.2.2 1990s-2000s: 机器学习时代1.2.3 2010s-现在: 深度学习的革命 1.3 应用领域概览1.3.1 工业自动化1.3.2 医疗图像分析1.3.3 自动驾驶1.3.4 虚拟现实与增强现…...
linux -- centos -- cmake 留坑
安装Cmake 在Linux一个目录下: touch poj.cpp touch CMakeLists.txtpoj.cpp的内容:随便输出一点东西啦 CMakeLists.txt的内容: cmake_minimum_required(VERSION 3.6) project(Test) add_executable(Test test.cpp)cmake_minimum_required:c…...
【100天精通python】Day33:使用python操作数据库_SQLite数据库的使用与实战
目录 专栏导读 1 SQLite 简介 2 SQLite数据库安装及使用 2.1 检查 SQLite 支持 2.2 创建数据库文件 2.2.1 使用 Python 创建数据库文件: 2.2.2 使用命令行创建数据库文件: 2.3 连接到 SQLite 数据库: 3 SQLite 中常用的SQL语句…...
通过将信号频谱与噪声频谱进行比较,自动检测适当的带通滤波器转折频率研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
【Sklearn】基于多层感知器算法的数据分类预测(Excel可直接替换数据)
【Sklearn】基于多层感知器算法的数据分类预测(Excel可直接替换数据) 1.模型原理2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果1.模型原理 多层感知器(Multilayer Perceptron,MLP)是一种前馈神经网络,用于解决分类和回归问题。它包含输入层、若干个隐…...
在 Windows 中恢复数据的 5 种方法
发生数据丢失的原因有多种。无论是因为文件被意外删除、文件系统或操作系统损坏,还是由于软件或硬件级别的存储故障,数据都会在您最意想不到的时候丢失。今天我们重点介绍五种数据恢复方法,以应对意外情况的发生。 1.从另一台机器启动硬盘 如…...
配置使用Gitee账号认证登录Grafana
三方社会化身份源 集成gitee第三方登录 第三方登录的原理 所谓第三方登录,实质就是 OAuth 授权。用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网站的身份数据,就需要 OAuth 授权。 举例来…...
使用 Flask 部署 Next.js
原文 使用 Flask 部署 Next.js Flask 和 Next.js 是两个独特的开源 Web 框架,分别构建在 Python 和 JavaScript 编程语言之上。 您可以在没有 Next.js 的情况下构建 Flask 应用程序,也可以在没有 Flask 的情况下构建 Next.js 应用程序。但是࿰…...
网络安全--iptables
总结: iptables 的关键概念和功能: 规则(Rules): iptables 使用规则来定义特定的操作,例如允许或拒绝特定类型的网络流量。每条规则都由条件和操作组成。条件可以是源 IP 地址、目标 IP 地址、端口号等&a…...
【猿灰灰赠书活动 - 02期】- 【Java从入门到精通2023年7月最新(第7版)】
说明:博文为大家争取福利,与清华大学出版社合作进行送书活动 图书:《Java从入门到精通》 一、好书推荐 图书介绍 Java入门经典,95万Java程序员的入行选择。配备升级版Java开发资源库,在线大咖课在线答疑,学…...
Springboot 设置统一的请求返回格式
现在开发过程中主要采用前后端分离的方式进行开发测试,也就是前端封装请求,后端提供标准的API接口服务。一般现在json 格式受到开发者们的青睐,学习过程中我们可以设置接口的返回类型,那么怎么做到设置统一的返回格式呢࿱…...
logstash日志换行处理小解
logstash主用于日志实时数据收集、解析,并将数据转发的工具,内置的功能也相当强大。但,同时意味着,他可能接收到各种情况的数据。 此处,我们主要讲解我实际使用中,碰到的一个小问题,换行(\n)。…...
openpnp - 做一个抛料盒
文章目录 openpnp - 做一个抛料盒概述效果图零件 - 抛料盒主体零件 - 磁铁仓盖板END openpnp - 做一个抛料盒 概述 8mm散料飞达做回来了, 上面用的长方形磁铁(4x6x10mm)透过0.8mm的3D打印薄壁, 和固定铁板的吸力很大, 用磁力固定的非常好. 正好缺一个抛料盒, 就按照散料飞达的…...
数据结构——单链表的实现(c语言版)
前言 单链表作为顺序表的一种,了解并且熟悉它的结构对于我们学习更加复杂的数据结构是有一定意义的。虽然单链表有一定的缺陷,但是单链表也有它存在的价值, 它也是作为其他数据结构的一部分出现的,比如在图,哈希表中。…...
【计算机组成原理】24王道考研笔记——第四章 指令系统
第四章 指令系统 一、指令系统 指令是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。一台计算机的所有指令的集合构成该 机的指令系统,也称为指令集。 指令格式: 1.1分类 按地址码数目分类: 按指令长度分类&…...
C#使用FileInfo和DirectoryInfo类来执行文件和文件夹操作
System.IO.FileInfo 和 System.IO.DirectoryInfo 是C#中用于操作文件和文件夹的类,它们提供了许多有用的方法和属性来管理文件和文件夹。 System.IO.FileInfo: FileInfo 类用于操作单个文件的信息和内容。以下是一些常用的方法和属性: Exi…...
每日一学——TCP/IP参考模型
TCP/IP参考模型是一个用于网络通信的分层架构,它定义了一组协议,这些协议实现了计算机之间的数据传输。TCP/IP参考模型分为四层: 应用层(Application Layer):应用层是网络应用程序与网络之间的接口层。它提…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
