插件命令执行
直接调用插件目标,不依赖生命周期阶段绑定。
直接执行语法
基本格式
Bash
mvn groupId:artifactId:version:goal
mvn pluginId:goal
示例
Bash
# 完整格式
mvn org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile
# 简短格式(常用)
mvn compiler:compile
# 指定版本
mvn compiler:3.8.1:compile
常用直接执行命令
编译相关
Bash
mvn compiler:compile # 编译主代码
mvn compiler:testCompile # 编译测试代码
资源处理
Bash
mvn resources:resources # 处理主资源
mvn resources:testResources # 处理测试资源
依赖分析
Bash
mvn dependency:tree # 查看依赖树
mvn dependency:analyze # 分析依赖使用
mvn dependency:resolve # 解析所有依赖
帮助信息
Bash
mvn help:describe -Dplugin=compiler # 插件描述
mvn help:describe -Dplugin=compiler -Ddetail # 详细参数
mvn help:active-profiles # 激活的 Profile
项目信息
Bash
mvn help:effective-pom # 查看有效 POM
mvn help:all-profiles # 所有 Profile
常用 dependency 插件目标
| 目标 | 说明 |
|---|---|
| dependency:tree | 显示依赖树 |
| dependency:analyze | 分析未使用/缺失依赖 |
| dependency:resolve | 解析依赖到本地 |
| dependency:copy | 复制依赖到指定目录 |
| dependency:purge-local-repository | 清理本地依赖缓存 |
传递参数
通过 -D 参数
Bash
mvn compiler:compile -Dmaven.compiler.source=17
mvn dependency:tree -Dverbose
mvn surefire:test -Dtest=MyTest
示例:指定测试类
Bash
# 执行指定测试类
mvn surefire:test -Dtest=UserServiceTest
# 执行匹配模式的测试
mvn surefire:test -Dtest=*ServiceTest
执行配置
使用 execution 的 id
XML
<plugin>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/libs</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
直接调用指定 execution
Bash
mvn dependency:copy-dependencies@copy-dependencies
版本省略规则
Maven 自动解析插件版本:
- 查找 pluginManagement 中定义的版本
- 查找超级 POM 默认版本
- 从仓库下载最新版本
超级 POM 默认插件
| 插件 | 默认版本 |
|---|---|
| compiler | 3.1 |
| surefire | 2.12.4 |
| jar | 2.4 |
| clean | 2.5 |
第三方插件直接执行
Bash
# Spring Boot 插件
mvn spring-boot:run
# Shade 插件
mvn shade:shade
# Jetty 插件
mvn jetty:run
命令组合
Bash
# 直接执行多个插件目标
mvn compiler:compile resources:resources
# 混合阶段和插件目标
mvn clean package dependency:tree
要点总结
- mvn plugin:goal 直接执行插件目标
- compiler:compile 简短格式常用
- -D 参数传递配置
- dependency:tree、dependency:analyze 常用诊断命令
- 可混合执行阶段和插件目标
📝 发现内容有误?点击此处直接编辑