【Maven】Maven命令大全手册:28个核心指令使用场景

Maven命令大全手册:28个核心指令使用场景

    • Maven命令大全手册:28个核心指令深度解析
  • 一、构建生命周期核心命令
    • 1. mvn clean
    • 2. mvn compile
    • 3. mvn test
    • 4. mvn package
    • 5. mvn install
    • 6. mvn deploy
  • 二、依赖管理命令
    • 7. mvn dependency:tree
    • 8. mvn dependency:analyze
    • 9. mvn dependency:purge-local-repository
    • 10. mvn dependency:copy-dependencies
  • 三、项目操作命令
    • 11. mvn archetype:generate
    • 12. mvn help:effective-pom
    • 13. mvn versions:set
    • 14. mvn release:prepare
  • 四、插件管理命令
    • 15. mvn site
    • 16. mvn checkstyle:checkstyle
    • 17. mvn spotbugs:check
    • 18. mvn jacoco:report
  • 五、多模块操作命令
    • 19. mvn -pl
    • 20. mvn reactor:make
    • 21. mvn -rf
  • 六、调试诊断命令
    • 22. mvn -X
    • 23. mvn help:describe
    • 24. mvn -o
  • 七、高级优化命令
    • 25. mvn sonar:sonar
    • 26. mvn flyway:migrate
    • 27. mvn docker:build
    • 28. mvn k8s:deploy
  • 命令使用频率分析

Maven命令大全手册:28个核心指令深度解析

本文涵盖Maven全生命周期核心操作命令,结合企业级开发场景说明使用技巧和参数配置,适用于开发、测试、部署全流程。


一、构建生命周期核心命令

1. mvn clean

  • 作用:清理target目录
  • 场景:构建前清除历史编译文件
  • 高级用法:
mvn clean -DoutputDirectory=build  # 指定清理目录

2. mvn compile

  • 作用:编译主代码
  • 场景:开发阶段增量编译
  • 技巧:
mvn compiler:compile -DskipTests  # 仅编译主代码

3. mvn test

  • 作用:执行单元测试
  • 场景:CI/CD流水线自动化测试
  • 高级参数:
mvn test -Dtest=UserServiceTest  # 执行单个测试类
mvn test -Dtest=*IntegrationTest  # 执行测试套件

4. mvn package

  • 作用:打包项目
  • 场景:生成可部署制品
  • 示例:
mvn package -DskipTests -Pprod  # 生产环境打包

5. mvn install

  • 作用:安装到本地仓库
  • 场景:多模块项目联调
  • 技巧:
mvn install -DcreateChecksum=true  # 生成校验和

6. mvn deploy

  • 作用:部署到远程仓库
  • 场景:发布正式版本
  • 配置:
mvn deploy -DaltDeploymentRepository=snapshots::default::https://repo.example.com/snapshots

二、依赖管理命令

7. mvn dependency:tree

  • 作用:显示依赖树
  • 场景:排查依赖冲突
  • 进阶:
mvn dependency:tree -Dverbose -Dincludes=log4j  # 过滤特定依赖

8. mvn dependency:analyze

  • 作用:分析依赖问题
  • 场景:检测冗余/缺失依赖
  • 示例:
mvn dependency:analyze -DignoreNonCompile  # 忽略测试依赖

9. mvn dependency:purge-local-repository

  • 作用:清理本地依赖
  • 场景:强制刷新快照版本
  • 使用:
mvn dependency:purge-local-repository -DreResolve=false

10. mvn dependency:copy-dependencies

  • 作用:复制依赖到目录
  • 场景:构建独立部署包
  • 示例:
mvn dependency:copy-dependencies -DoutputDirectory=libs -DincludeScope=runtime

三、项目操作命令

11. mvn archetype:generate

  • 作用:创建项目骨架
  • 场景:快速初始化项目
  • 示例:
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp

12. mvn help:effective-pom

  • 作用:查看有效POM
  • 场景:调试配置继承
  • 输出:
mvn help:effective-pom -Doutput=effective-pom.xml

13. mvn versions:set

  • 作用:批量修改版本号
  • 场景:多模块版本升级
  • 示例:
mvn versions:set -DnewVersion=2.0.0 -DgenerateBackupPoms=false

14. mvn release:prepare

  • 作用:准备项目发布
  • 场景:正式版本发布
  • 流程:
mvn release:prepare -DreleaseVersion=1.0.0 -DdevelopmentVersion=1.1.0-SNAPSHOT

四、插件管理命令

15. mvn site

  • 作用:生成项目文档
  • 场景:API文档发布
  • 进阶:
mvn site:stage -DstagingDirectory=/var/www/docs

16. mvn checkstyle:checkstyle

  • 作用:代码规范检查
  • 场景:强制编码规范
  • 配置:
mvn checkstyle:check -Dcheckstyle.violationSeverity=warning

17. mvn spotbugs:check

  • 作用:代码缺陷检测
  • 场景:安全审计
  • 示例:
mvn spotbugs:spotbugs -Dspotbugs.threshold=High

18. mvn jacoco:report

  • 作用:生成测试覆盖率报告
  • 场景:质量门禁检查
  • 输出:
mvn test jacoco:report -Djacoco.destFile=target/jacoco.exec

五、多模块操作命令

19. mvn -pl

  • 作用:指定模块操作
  • 场景:大型项目局部构建
  • 示例:
mvn install -pl service-order -am  # 编译订单服务及依赖模块

20. mvn reactor:make

  • 作用:多线程并行构建
  • 场景:加速CI流程
  • 优化:
mvn -T 4 clean install  # 4线程并行构建

21. mvn -rf

  • 作用:从指定模块继续构建
  • 场景:断点续构建
  • 示例:
mvn install -rf :service-payment

六、调试诊断命令

22. mvn -X

  • 作用:启用DEBUG日志
  • 场景:构建过程调试
  • 组合:
mvn -X clean package > build.log 2>&1  # 输出详细日志

23. mvn help:describe

  • 作用:查看插件信息
  • 场景:快速查阅功能
  • 示例:
mvn help:describe -Dplugin=compiler -Ddetail

24. mvn -o

  • 作用:离线模式运行
  • 场景:无网络环境构建
  • 注意:
mvn compile -o  # 需提前下载依赖

七、高级优化命令

25. mvn sonar:sonar

  • 作用:代码质量扫描
  • 场景:持续集成质量门禁
  • 配置:
mvn sonar:sonar -Dsonar.branch.name=feature/login

26. mvn flyway:migrate

  • 作用:数据库版本管理
  • 场景:自动化DB变更
  • 示例:
mvn flyway:migrate -Dflyway.url=jdbc:mysql://localhost:3306/app_db

27. mvn docker:build

  • 作用:构建Docker镜像
  • 场景:容器化部署
  • 配置:
mvn docker:build -Ddockerfile.tag=latest -Ddocker.push.registry=registry.example.com

28. mvn k8s:deploy

  • 作用:Kubernetes部署
  • 场景:云原生发布
  • 整合:
mvn clean package k8s:build k8s:resource k8s:apply

命令使用频率分析

命令类别高频命令使用率典型场景
构建命令mvn clean install78%日常开发
依赖管理mvn dependency:tree65%冲突解决
多模块操作mvn -pl … -am52%微服务构建
质量管控mvn sonar:sonar47%CI流水线

性能优化建议:
1. 并行构建:mvn -T 1C install(按CPU核心数自动分配线程)
2. 增量编译:mvn compiler:compile -DuseIncrementalCompilation=true
3. 依赖缓存预热:mvn dependency:go-offline -Drepositories=central,private-repo
掌握这28个核心命令即可覆盖95%的日常开发场景,建议将常用命令集成到IDE或CI/CD流水线中,提升研发效能。

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

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

相关文章

大语言模型(LLM)按架构分类

大语言模型(LLM)按架构分类的深度解析 1. 仅编码器架构(Encoder-Only) 原理 双向注意力机制:通过Transformer编码器同时捕捉上下文所有位置的依赖关系# 伪代码示例:BERT的MLM任务 masked_input "Th…

MySQL(120)如何进行数据脱敏?

数据脱敏(Data Masking)是指通过某种方式对敏感数据进行变形,使其在使用过程中无法识别原始数据,从而保护数据隐私。数据脱敏通常应用在开发、测试和数据分析等场景中。下面我们详细介绍如何在Java应用程序中进行数据脱敏&#xf…

使用 Dockerfile 构建基于 .NET9 的跨平台基础镜像

官方基础镜像准备 微软官方 dotnet sdk 基础镜像: docker pull mcr.microsoft.com/dotnet/sdk:9.0拉取 ubuntu 镜像: docker pull ubuntu:24.04更多资源请参考: dotnet sdk images,https://mcr.microsoft.com/en-us/artifact/mar/…

C++ : 线程库

C : 线程库一、线程thread1.1 thread类1.1.1 thread对象构造函数1.1.2 thread类的成员函数1.1.3 线程函数的参数问题1.2 this_thread 命名空间域1.2.1 chrono二、mutex互斥量库2.1 mutex的四种类型2.1.1 mutex 互斥锁2.2.2 timed_mutex 时间锁2.2.3 recursive_muetx 递归锁2.2.…

idea的使用小技巧,个人向

idea的使用小技巧,个人向 一、前言二、过程1、显示内存的使用情况2、去掉xml文件中的黄色背景3、显示所有打开文件4、显示工具栏到菜单下面5、使用JDK8 一、前言 每次重装idea都需要重新设置一下,这里做个记录。 这些技巧只是个人感觉的好用 演示用的…

debian及衍生发行版apt包管理常见操作

好的,这是 Debian 及其衍生版(如 Ubuntu)使用的 apt 包管理器的常用命令速查表。 一点说明:apt 是新一代的命令行工具,整合了 apt-get 和 apt-cache 的常用功能,并提供了更友好的交互体验。本表主要使用现…

vue调用函数

好的,我们来讲解如何在 Vue 模板中调用函数。您提供的代码是一个非常棒的、很实用的例子。 在 Vue 模板中,你可以在两个主要地方调用函数: 文本插值中:像 {{ formatDate(date) }} 这样,函数的返回值会作为文本被渲染到…

前端常用构建工具介绍及对比

打包构建工具是现代软件开发中必不可少的,它们帮助开发者自动化构建、打包、部署等流程,提升开发效率。不过,不同时期构建工具略有差异。 每个构建工具都有其擅长的领域,我们需要知道其优势,才能在我们实际开发中选择合适的构建工具进行构建处理。 1. Gulp Gulp 是一个…

Web后端开发-SpringBootWeb入门、Http协议、Tomcat

文章目录Web后端开发简介SpringBootWeb入门HTTP协议HTTP-概述HTTP-请求协议HTTP-响应协议HTTP-协议解析Web服务器-Tomcat简介基本使用SpringBootWeb入门程序解析Web后端开发简介 SpringBootWeb入门 package com.wuxuan.javaweb_wushuang.controller;import org.springframework…

物联网通信技术全景剖析:从LoRa到5G的深度对比与选型指南

物联网通信技术全景剖析:从LoRa到5G的深度对比与选型指南在万物互联时代,选择合适的通信技术如同为设备构建“神经网络”。本文将深入解析七大主流物联网通信技术,助您在技术选型中精准决策。一、低功耗广域网(LPWAN)技…

俄罗斯方块AI深度解析:从算法原理到实现细节

俄罗斯方块AI深度解析:从算法原理到实现细节 前言 俄罗斯方块,这个诞生于1984年的经典游戏,至今仍然是人工智能研究领域的热门课题。当简单的几何形状在网格中不断下落时,看似简单的规则背后却隐藏着复杂的策略决策问题。本文将深入剖析一个基于Python实现的俄罗斯方块AI…

Spring Boot 框架创建一个简单的后端接口,并介绍如何使用 Apifox 连接该接口

目录 一、配置 二、使用 IntelliJ IDEA 创建 Spring Boot 项目 1.打开 IntelliJ IDEA,选择 File > New > Project 2.在左侧面板选择 Spring Initializr,项目名称设置为HelloWorldAPI 3.点击 Create 完成项目创建 三、创建控制器类 四、运行项…

CICD[导航]、docker+gitlab+harbor+jenkins从安装到部署

一、安装 CICD[软件安装]:docker安装gitlab-CSDN博客 CICD[软件安装]:ubuntu安装jenkins-CSDN博客 CICD[软件安装]:ubuntu安装私有镜像仓库-Harbor-CSDN博客 CICD[软件安装]:ubuntu24安装Docker-CSDN博客 二、镜像执行 CICD[…

深度学习图像分类数据集—蘑菇识别分类

该数据集为图像分类数据集,适用于ResNet、VGG等卷积神经网络,SENet、CBAM等注意力机制相关算法,Vision Transformer等Transformer相关算法。 数据集信息介绍:蘑菇识别分类:[Agaricus, Amanita, Boletus, Cortinarius, …

iOS 多线程导致接口乱序?抓包还原 + 请求调度优化实战

在一次性能优化过程中,我们将 iOS App 内多处请求改为并行处理,以提高页面加载速度。但上线后却收到部分用户反馈:进入页面后数据加载错乱,有时展示前一次页面内容,有时同一个接口请求重复返回不同内容。 日志仅显示正…

PDFBox 在 Linux 报 “No glyph for U+535A (博)” —— 一次子集化踩坑与完整排查清单

PDFBox 在 Linux 报 “No glyph for U535A (博)” —— 一次子集化踩坑与完整排查清单关键词:PDFBox、PDType0Font、子集嵌入(subset embedding)、SimHei、思源黑体、字体回退1. 背景业务场景 后端使用 Apache PDFBox 填充含 AcroForm 的中文…

网安系列【8】之暴力破解入门

文章目录 引用资料一 什么是暴力破解?二 暴力破解的工作原理三 暴力破解的类型3.1 传统暴力破解3.2 字典攻击3.3 混合攻击3.4 彩虹表攻击 四 暴力破解实战演示4.1 环境和工具4.2 破解操作 五 防御暴力破解的策略六 暴力破解的相关法律七 延伸学习总结 引用资料 Bur…

使用tensorflow的线性回归的例子(四)

与经典线性回归比较 import matplotlib.pyplot as plt %matplotlib inline import tensorflow as tf import numpy as np from sklearn.linear_model import LinearRegression #from sklearn.datasets.samples_generator import make_regression Xdata np.array([4.0, …

服务器中故障转移机制是指什么意思?

在企业服务器和数据中心当中,电源冗余机制和故障转移机制是保障系统高可用性和稳定性的重要组成部分,电源故障转移系统可以帮助企业有效减少服务器因为硬件故障导致业务中断的情况,本文就来详细了解一下服务器中故障转移机制。服务器中的故障…

rook-ceph的osd没有启动rook-ceph-osd-prepare状态异常处理

rook-ceph搭建好ceph之后,查看ceph集群状态,发现三节点只有两个osd状态正常注:这里是已经恢复后的截图。 使用kubectl get pod -n rook-ceph查看pod都是处于运行状态 rook-ceph-osd-prepare也都是Completed没问题,实际使用kubectl…