Maven 常用命令详解
时间:2026-08-13 | 作者:怪兽小助手 | 阅读:0Ma ven 命令遵循以下模式:
mvn [选项] [生命周期阶段] [目标]
检查 Ma ven 版本
实例
mvn -v
这个命令会显示已安装的 Ma ven 版本、Ja va 版本等信息。
Ma ven 生命周期命令
Ma ven 基于构建生命周期的概念,包含三个主要的生命周期:
- clean:清理项目
- default (build):项目构建
- site:生成项目文档
清理项目
实例
mvn clean
这个命令会删除 target 目录,即删除所有构建生成的文件。
编译项目
实例
mvn compile
把源代码编译完成后,生成的 class 文件会统一落到 target/classes 目录中。
运行测试
实例
mvn test
运行项目中的所有测试用例。
打包项目
实例
mvn package
根据 POM 文件中指定的打包类型(如 jar、war)打包项目。
安装到本地仓库
实例
mvn install
将项目构建并安装到本地 Ma ven 仓库,供其他项目依赖使用。
部署到远程仓库
实例
mvn deploy
将最终的项目包复制到远程仓库,供其他开发人员和项目使用。
依赖管理命令
查看项目依赖树
实例
mvn dependency:tree
显示项目的依赖树,有助于分析依赖关系和解决依赖冲突。
下载源代码
实例
mvn dependency:sources
下载项目依赖的源代码。
分析依赖
实例
mvn dependency:analyze
分析项目中使用但未声明的依赖,以及声明但未使用的依赖。
项目创建命令
创建简单项目
实例
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=ma ven-archetype-quickstart -DinteractiveMode=false
使用 Ma ven 原型系统创建一个简单的 Ja va 项目。
创建 Web 项目
实例
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-web-app -DarchetypeArtifactId=ma ven-archetype-webapp -DinteractiveMode=false
创建一个简单的 Web 应用程序项目。
其他实用命令
跳过测试
实例
mvn install -DskipTests
构建项目并安装到本地仓库,但跳过测试阶段。
运行特定测试
实例
mvn test -Dtest=TestClassName
只运行指定的测试类。
实例
mvn test -Dtest=TestClassName#testMethodName
只运行指定测试类中的特定测试方法。
更新依赖
实例
mvn versions:display-dependency-updates
检查项目中哪些依赖有更新的版本可用。
生成站点文档
实例
mvn site
生成项目的站点文档,包括各种报告。
运行特定阶段
实例
mvn clean package
执行顺序很清晰:先走 clean 生命周期,接着再进入 default 生命周期,并一路执行到 package 阶段。
Ma ven 命令组合使用
Ma ven 命令可以组合使用以提高效率:
实例
mvn clean install
先清理项目,然后编译、测试并安装到本地仓库。
实例
mvn clean package -DskipTests
清理项目,打包但不运行测试。
常见问题解决
强制更新快照依赖
实例
mvn clean install -U
-U 参数强制 Ma ven 检查远程仓库中依赖的更新版本。
离线模式
实例
mvn -o package
-o 参数让 Ma ven 在离线模式下运行,只使用本地仓库中的依赖。
调试模式
实例
mvn -X clean install
-X 参数启用调试输出,显示详细的执行信息。
基础构建命令
| 命令 | 作用 | 执行的生命周期阶段 |
|---|---|---|
mvn clean | 删除target/目录 | clean |
mvn validate | 验证项目是否正确 | validate |
mvn compile | 编译主源代码 | compile |
mvn test-compile | 编译测试代码 | test-compile |
mvn test | 运行单元测试 | test |
mvn package | 打包项目 | package |
mvn verify | 运行集成测试 | verify |
mvn install | 安装到本地仓库 | install |
mvn deploy | 部署到远程仓库 | deploy |
典型开发流程:
mvn clean compile test package
依赖管理命令
| 命令 | 作用 |
|---|---|
mvn dependency:tree | 显示依赖树 |
mvn dependency:analyze | 分析依赖问题 |
mvn dependency:copy-dependencies | 复制依赖到目录 |
mvn dependency:purge-local-repository | 清除本地依赖缓存 |
mvn versions:display-dependency-updates | 检查依赖更新 |
# 查看依赖树
mvn dependency:tree
# 检查可用更新
mvn versions:display-dependency-updates
插件相关命令
| 命令 | 作用 |
|---|---|
mvn help:describe -Dplugin=插件名 | 查看插件信息 |
mvn help:effective-pom | 查看最终生效的POM |
mvn 插件前缀:目标 | 直接运行插件目标 |
# 查看compiler插件信息
mvn help:describe -Dplugin=compiler
# 直接运行compiler插件的compile目标
mvn compiler:compile
测试相关命令
| 命令 | 作用 |
|---|---|
mvn test | 运行所有测试 |
mvn -Dtest=测试类名 test | 运行指定测试类 |
mvn -Dtest=测试类名#方法名 test | 运行指定测试方法 |
mvn -DskipTests=true package | 跳过测试 |
# 只运行UserServiceTest类
mvn -Dtest=UserServiceTest test
# 只运行UserServiceTest中的testCreate方法
mvn -Dtest=UserServiceTest#testCreate test
多模块项目命令
| 命令 | 作用 |
|---|---|
mvn -pl 模块名 命令 | 对指定模块执行命令 |
mvn -am -pl 模块名 命令 | 执行命令并处理依赖模块 |
mvn -rf 模块名 命令 | 从指定模块继续执行 |
# 只编译service模块
mvn -pl service compile
# 编译web模块及其依赖的模块
mvn -am -pl web compile
高级用法
| 命令 | 作用 |
|---|---|
mvn -T 4 install | 使用4个线程并行构建 |
mvn -o package | 离线模式运行 |
mvn -X clean install | 开启调试输出 |
mvn -U clean install | 强制更新snapshot依赖 |
mvn release:prepare | 准备项目发布 |
mvn release:perform | 执行项目发布 |
# 并行构建(4线程)
mvn -T 4 clean install
# 强制更新snapshot依赖
mvn -U clean install
常用命令组合
| 组合命令 | 作用 |
|---|---|
mvn clean install | 清理后重新安装 |
mvn clean package -DskipTests | 清理后打包并跳过测试 |
mvn clean test | 清理后运行测试 |
mvn clean deploy | 清理后部署 |
实用技巧
快速查看项目信息:
mvn help:effective-pom
mvn help:describe -Dcmd=compile
调试构建问题:
mvn -X clean install
跳过检查:
mvn install -Dcheckstyle.skip=true -Dpmd.skip=true
指定配置文件:
mvn install -P production
查看构建时间:
mvn install --batch-mode | grep "Total time"
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- Java异常处理实战:从体系架构到健壮性设计全解
- 时间:2026-08-27
-
- 基于Spring Security实现自动登录的完整指南
- 时间:2026-08-27
-
- VS Code Java开发高效配置清单(可直接复制使用)
- 时间:2026-08-27
-
- JavaSwing实现自定义TablePanel组件(附完整代码)
- 时间:2026-08-27
-
- Java基础攻略:输入输出、方法与数组实战指南
- 时间:2026-08-27
-
- Java反射、枚举、Lambda表达式及泛型通配符实例详解
- 时间:2026-08-27
-
- 30个经典算法题及Java解答(含实例代码)
- 时间:2026-08-27
-
- Spring Data JPA 查询实战:方法命名与 @Query 注解详解
- 时间:2026-08-27
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15
