maven打包时跳过单元测试执行需配置maven-surefire-plugin的skiptests参数,仅跳过运行但保留编译;若需跳过编译和运行则用skip参数;推荐在pom.xml中通过properties统一定义skiptests=true。

在 Maven 打包(如 mvn package)时跳过单元测试执行,核心是配置 maven-surefire-plugin 插件的 skipTests 参数。该参数只跳过测试运行,不跳过编译;若需连测试编译也跳过,应使用 skip。
在 pom.xml 中直接配置 skipTests
这是最常用、项目级生效的方式。在 <build><plugins></plugins></build> 中添加或修改 surefire 插件配置:
- 确保插件已声明(Spring Boot 项目通常已内置,无需显式引入)
- 在
<configuration></configuration>中设置<skiptests>true</skiptests>
示例片段:
<build><br><plugins><br><plugin><br><groupid>org.apache.maven.plugins</groupid><br><artifactid>maven-surefire-plugin</artifactid><br><version>3.2.5</version><br><configuration><br><skiptests>true</skiptests><br></configuration><br></plugin><br></plugins><br></build>
用 properties 统一控制(推荐用于 Spring Boot 项目)
在 <properties> 中定义 <code>skipTests,可被 surefire 插件自动识别,写法更简洁:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
<properties><br><skiptests>true</skiptests><br></properties>
这种方式无需显式声明插件,适合多模块或统一构建策略的项目。
注意 skip 和 skipTests 的区别
二者作用不同,选错会导致意外行为:
-
skipTests=true:跳过测试执行,但仍会编译src/test/java -
skip=true:跳过整个插件——既不编译也不运行测试(等价于-Dmaven.test.skip=true命令行参数)
多数场景只需跳过执行,优先用 skipTests。
IDE 中快速启用(以 IntelliJ IDEA 为例)
无需改配置文件,适合临时跳过:
- 打开 Maven 工具窗口(View → Tool Windows → Maven)
- 展开 Lifecycle → 右键
package→ 选择 Skip Tests(闪电图标) - 点击执行,Maven 会自动追加
-DskipTests参数
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










