Maven(四)常用命令大全

news2024/10/7 12:18:18

目录

    • 一、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.介绍

其实我们平时使用最多的 cleanpackageinstall 等命令都是 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/886707.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

EasyV用户必须了解的实操方法论|模板复用五步法

本文根据元宝 在模板复用训练课程上的分享整理而成。 从我们模板复用课程上线到现在&#xff0c;每一期我们都在反复强调&#xff1a;**如何让「所有的」EasyV用户都能搭建制作出「可以落地交付」的可视化大屏是我们课程制作的初衷&#xff0c;跳出「大屏搭建 大屏设计」的思维…

【机器视觉系统】NoobVision

NoobVision 基于Qt/C实现的视觉框架平台&#xff0c;已有多款项目成功实施 功能不算非常完善&#xff0c;但架构设计成熟 Q 2903612753

Spring事务的隔离级别介绍说明以及怎么去修改Spring事务的隔离级别

&#x1f600;前言 本篇是Spring 声明式事务系列的最后一篇介绍了Spring事务的隔离级别介绍说明 &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的…

SystemVerilog中$timeformat的用法

在SystemVerilog中&#xff0c;输出信息显示时间时&#xff0c;经常会在输出信息格式中指定“%t”格式符&#xff0c;一般情况下“%t”输出的格式都是固定的&#xff0c;但是这样固定的输出显示的时间可能有时会让用户看起来感觉比较诧异&#xff0c;例如下面的示例。 【示例】…

【word密码】设置word只读模式

想要将word文档设置为只读模式&#xff0c;方法有很多&#xff0c;今天小奥超人介绍几个方法给大家。 方法一&#xff1a;文件属性 常见的、简单的设置方法&#xff0c;不用打开word文件&#xff0c;只需要右键选择文件&#xff0c;打开文件属性&#xff0c;勾选上【只读】选…

ROSE75 GAS DM蓝牙5.2双模热插拔PCB

键盘使用说明索引&#xff08;均为出厂默认值&#xff09; 软件支持&#xff08;驱动的详细使用帮助&#xff09;一些常见问题解答&#xff08;FAQ&#xff09;首次使用步骤蓝牙配对规则&#xff08;重要&#xff09;蓝牙和USB切换键盘默认层默认触发层0的FN键配置的功能默认功…

助力金融服务行业转型,NETCLOUD的全方位解决方案!

随着科技的飞速发展和数字化时代的到来&#xff0c;金融行业也面临着前所未有的变革和挑战。在这个信息爆炸的时代&#xff0c;数字化转型已经成为金融行业不可忽视的趋势。从传统的银行、保险到投资管理&#xff0c;无一不受到数字化浪潮的影响。那么&#xff0c;为什么金融行…

Android CameraX适配Android13的踩坑之路

AndroidCameraX适配Android13的踩坑之路 前言&#xff1a; 最近把AGP插件升级到8.1.0&#xff0c;新建项目的时候目标版本和编译版本都是33&#xff0c;发现之前的demo使用Camerax拍照和录像都失败了&#xff0c;于是查看了一下官网和各种资料&#xff0c;找到了Android13的适…

中远麒麟堡垒机 SQL注入漏洞复现

0x01 产品简介 中远麒麟依托自身强大的研发能力,丰富的行业经验&#xff0c;自主研发了新一代软硬件一体化统一安全运维平台一-iAudit 统一安全运维平台。该产品支持对企业运维人员在运维过程中进行统一身份认证、统一授权、统一审计、统一监控&#xff0c;消除了传统运维过程中…

十七、地物识别

描述了使用2D卷积神经网络图像识别的全过程。下载和安装标注工具,对图像进行标注,生成标注后的图像。然后对数据进行增强,划分训练集和测试集。最后通过神经网络建立分类模型,对现有图片进行分类应用。 1、Labelme工具 Labelme工具是语义分割标注工具,在地物类型或建…

《论文阅读14》FAST-LIO

一、论文 研究领域&#xff1a;激光雷达惯性测距框架论文&#xff1a;FAST-LIO: A Fast, Robust LiDAR-inertial Odometry Package by Tightly-Coupled Iterated Kalman Filter IEEE Robotics and Automation Letters, 2021 香港大学火星实验室 论文链接论文github 二、论文概…

管理类联考——逻辑——真题篇——按知识分类——汇总篇——一、形式逻辑——性质——第三节——真假推理

文章目录 第三节 性质—真假推理题—性质—两命题间的关系—①先找矛盾&#xff0c;后找包含—矛盾&#xff1a;“所有A都是B”矛盾“有的A不是B”&#xff1b;“所有A都不是B”矛盾“有的A是B”。—包含&#xff1a;“所有A都是B”→“有的A是B”&#xff1b;“所有A都不是B”…

【k8s】基于Prometheus监控Kubernetes集群安装部署

目录 基于Prometheus监控Kubernetes集群安装部署 一、环境准备 二、部署kubernetes集群 三、部署Prometheus监控平台 四、部署Grafana服务 五、grafana web操作 基于Prometheus监控Kubernetes集群安装部署 一、环境准备 IP地址 主机名 组件 192.168.100.131 k8s-ma…

信息与通信工程面试准备——数学知识|正态分布|中心极限定理

目录 正态分布 正态分布的参数 正态分布的第一个参数是均值 正态分布的第二个参数是标准差SD 所有正态分布的共同特征 标准正态分布&#xff1a;正态分布的特例 中心极限定理 理解定义 示例# 1 示例# 2 知道样本均值总是正态分布的实际含义是什么&#xff1f; 正态分…

Python发送QQ邮件

使用Python的smtplib可以发送QQ邮件&#xff0c;代码如下 #!/usr/bin/python3 import smtplib from email.mime.text import MIMEText from email.header import Headersender 111qq.com # 发送邮箱 receivers [222qq.com] # 接收邮箱 auth_code "abc" # 授权…

流媒体服务-传输延时(SEI插帧)

什么是延时 很多小伙伴认为&#xff0c;当推流端和拉流端显示的时间不一致&#xff0c;即为延时。 其实这种看法是比较片面的&#xff0c;不同的播放器&#xff0c;对同一路流进行测试&#xff0c;可能会得到不同的结果。 一般来说&#xff0c;延时为以下几个部分的累加组成 …

最近抖音很火的情侣飞行棋

最近抖音很火的情侣飞行棋 最近抖音很火的情侣飞行棋&#xff0c;这款情侣飞行棋提供了丰富的游戏玩法&#xff0c;可以为情侣、朋友或家人带来欢乐的游戏体验。扫码进行体验识别 无论是在家中&#xff0c;还是在聚会、旅行等场合&#xff0c;都可以轻松启动该网站&#xff0c…

为何千万别学网络安全专业(网络安全小白避坑的建议解析)

前言&#xff1a; 近年来&#xff0c;随着国家对网络安全的战略关注和新基建的持续投入&#xff0c;网络安全专业成为一个热门话题。然而&#xff0c;好专业不一定就能找到好工作&#xff0c;对于想从事网络安全专业的小白们&#xff0c;需要持谨慎态度&#xff0c;避免走一些…

案例:用户登录/注册

文章目录 技术框架说明登录案例1.需求分析2.环境准备2.1 前端页面2.2 创建数据表及对应的实体类2.3 导入mybatis坐标&#xff0c;MySQL坐标2.4 配置文件及接口 3. 用户名密码校验4. 前端配置5.Servlet编写 注册案例1.需求分析2.配置用户接口3. 测试添加用户4. 前端配置5. servl…

【概念理解】STM32中的sprintf()函数

sprintf()函数 这个函数在 stdio.h中&#xff1b;可以将格式化的数据写入到一个字符串缓冲区中。 int sprintf(char *str, const char *format, ...);str&#xff1a;指向字符数组的指针&#xff0c;即用于存储格式化后字符串的缓冲区。format&#xff1a;格式化字符串&#…