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.介绍

其实我们平时使用最多的 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.mzph.cn/news/40058.shtml

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

相关文章

使用Python统计字符内容的占比

说明&#xff1a;如果有自己动手做过字符动画&#xff0c;会知道字符动画的“灵动性”核心在于使用的字符集。 简单来说&#xff0c;动画转为字符动画&#xff0c;原理是将动画转为灰阶图&#xff0c;灰度范围是0~255&#xff0c;然后将对应灰度的像素点转为对应比值的字符。这…

R语言ggplot2 | R语言绘制物种组成面积图(三)

&#x1f4cb;文章目录 面积图简介准备数据集加载数据集数据处理数据可视化 利用R语言绘制物种组成图。本文以堆叠面积图的方式与大家分享。 面积图简介 面积图又叫区域图。它是在折线图的基础之上形成的, 它将折线图中折线与自变量坐标轴之间的区域使用颜色或者纹理填充&…

设计模式之单例设计模式

单例设计模式 2.1 孤独的太阳盘古开天&#xff0c;造日月星辰。2.2 饿汉造日2.3 懒汉的队伍2.4 大道至简 读《秒懂设计模式总结》 单例模式(Singleton)是一种非常简单且容易理解的设计模式。顾名思义&#xff0c;单例即单一的实例&#xff0c;确切地讲就是指在某个系统中只存在…

【算法题】螺旋矩阵III (求解n阶蛇形矩阵)

一、问题的提出 n阶蛇形矩阵的特点是按照图1所示的方式排列元素。n阶蛇形矩阵是指矩阵的大小为nn&#xff0c;其中n为正整数。 题目背景 一个 n 行 n 列的螺旋矩阵可由如图1所示的方法生成&#xff0c;观察图片&#xff0c;找出填数规律。填数规则为从 1 开始填到 nn。 图1 …

【配置环境】Linux下安装MySQL

目录 一&#xff0c;环境 二&#xff0c;安装步骤 1.使用包管理器安装MySQL 2.配置MySQL的安全选项 3.设置root用户使用密码进行身份验证&#xff08;可选&#xff09; 三&#xff0c;拓展知识 1.如何修改MySQL的密码策略&#xff1f; 2.实现连接MySQL数据库的测试代码…

TiDB基础介绍、应用场景及架构

1. 什么是newsql NewSQL 是对各种新的可扩展/高性能数据库的简称&#xff0c;这类数据库不仅具有NoSQL对海量数据的存储管理能力&#xff0c;还保持了传统数据库支持ACID和SQL等特性。 NewSQL是指这样一类新式的关系型数据库管理系统&#xff0c;针对OLTP&#xff08;读-写&…

经验分享:企业数据仓库建设方案总结!

导读 在企业的数字化转型浪潮中&#xff0c;数据被誉为“新时代的石油”&#xff0c;而数据仓库作为数据管理与分析的核心基础设施&#xff0c;在企业的信息化建设中扮演着重要的角色。本文将深入探讨企业数据仓库建设过程中所遇到的问题以及解决经验&#xff0c;为正在筹备或…

进程/线程上下文切换会用掉你多少CPU?

进程是操作系统的伟大发明之一&#xff0c;对应用程序屏蔽了CPU调度、内存管理等硬件细节&#xff0c;而抽象出一个进程的概念&#xff0c;让应用程序专心于实现自己的业务逻辑既可&#xff0c;而且在有限的CPU上可以“同时”进行许多个任务。但是它为用户带来方便的同时&#…

碎片笔记|图数据与图神经网络基础介绍

前言&#xff1a;前段时间了解了一下图神经网络&#xff0c;本篇博客记录一下相关知识&#xff0c;以备不时之需。 强烈推荐这篇博客&#xff08;作者来自 Google Research&#xff09;&#xff0c;个人认为是图神经网络基础入门的不二选择&#xff01; 目录 一、图数据1.1 定义…

Windows上使用FFmpeg实现本地视频推送模拟海康协议rtsp视频流

场景 Nginx搭建RTMP服务器FFmpeg实现海康威视摄像头预览&#xff1a; Nginx搭建RTMP服务器FFmpeg实现海康威视摄像头预览_nginx rtmp 海康摄像头_霸道流氓气质的博客-CSDN博客 上面记录的是使用FFmpeg拉取海康协议摄像头的rtsp流并推流到流媒体服务器。 如果在其它业务场景…

TCP/IP协议组

TCP/IP通信协议是目前最完整、使用最广泛的通信协议。它的魅力在于可使不同硬件结构、不同操作系统的计算机相互通信。TCP/IP协议既可用于广域网&#xff0c;也可用于局域网&#xff0c;它是Internet/Intranet的基石。TCP/IP通信协议事实上是一组协议。 TCP/IP协议可分为5层也可…

GT Code - 图译算法编辑器(集成QT、C++、C、Linux、Git、java、web、go、高并发、服务器、分布式、网络编程、云计算、大数据项目)

目录 项目概述 发文意义 项目介绍 功能分析 设计概要 功能展示 项目文档 项目概述 “GT Code 图译算法编辑器”是一款跨平台、轻量级的代码编辑器&#xff0c;主要面向软件开发人员&#xff0c;它实现了编辑、编译、绘制代码流程图、生成调试演示动画等功能&#xff0c;以…

使用Java服务器实现UDP消息的发送和接收(多线程)

目录 简介&#xff1a;1. 导入必要的库2. 创建服务器端代码3. 创建客户端代码4. 实现多线程处理5. 测试运行示例代码&#xff1a;函数说明服务器端代码说明&#xff1a;客户端代码说明&#xff1a; 总结&#xff1a; 简介&#xff1a; 在本篇博客中&#xff0c;我们将介绍如何…

genism word2vec方法

文章目录 概述使用示例模型的保存与使用训练参数详解&#xff08;[原链接](https://blog.csdn.net/weixin_44852067/article/details/130221655)&#xff09;语料库训练 概述 word2vec是按句子来处理的Sentences(句子们) 使用示例 from gensim.models import Word2Vec #sent…

《起风了》C++源代码

使用方法 Visual Studio、Dev-C、Visual Studio Code等C/C创建一个 .cpp 文件&#xff0c;直接粘贴赋值即可。 #include <iostream> #include <Windows.h> #pragma comment(lib,"winmm.lib") using namespace std; enum Scale {Rest 0, C8 108, B7 …

线性代数(四) 特征值相似矩阵

前言 前面主要讲述的是方程组和矩阵的关系&#xff0c;现在了解下矩阵和矩阵的关系 方阵的特征值与特征向量 假设A为n阶方阵&#xff0c;对于一个数 λ \lambda λ 若存在&#xff1a;非零列向量 α \alpha α&#xff0c;使得&#xff1a; A α ⃗ λ α ⃗ A\vec{\alp…

2022年电赛C题——小车跟随行驶系统——做题记录以及经验分享

前言 自己打算将做过的电赛真题&#xff0c;主要包含控制组的&#xff0c;近几年出现的小车控制题目&#xff0c;自己做过的真题以及在准备电赛期间刷真题出现的问题以及经验分享给大家 这次带来的是22年电赛C题——小车跟随行驶系统&#xff0c;这道题目指定使用的是TI的单片…

spring ico容器 spring注入方式 spring与tomcat整合

一、简介 1、什么是spring&#xff1f; Spring是一个开源的轻量级Java应用开发框架&#xff0c;它提供了一种简单、高效、灵活的方式来构建企业级应用程序。Spring框架的核心特点是依赖注入&#xff08;Dependency Injection&#xff09;和面向切面编程&#xff08;Aspect-Ori…

SpringBoot整合Redis完整篇

SpringBoot整合Redis完整篇 1、在springboot项目的pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schem…

分布式锁有哪些应用场景和实现?

电商网站都会遇到秒杀、特价之类的活动&#xff0c;大促活动有一个共同特点就是访问量激增&#xff0c;在高并发下会出现成千上万人抢购一个商品的场景。虽然在系统设计时会通过限流、异步、排队等方式优化&#xff0c;但整体的并发还是平时的数倍以上&#xff0c;参加活动的商…