文章目录
前言
surefire-reports 是什么?
surefire-reports 是 Maven 测试报告目录,由 Maven Surefire 插件自动生成,用于存储单元测试的执行结果。
它是怎么生成的?
| 环节 | 说明 |
|---|---|
| 触发 | 当你执行 mvn test 或其他包含 test 阶段的 Maven 命令时 |
| 生成插件 | maven-surefire-plugin(Spring Boot 默认集成) |
| 存储位置 | target/surefire-reports/ |
| 文件类型 | 包含文本报告(.txt)、XML 报告(.xml)和转储文件(.dump) |
文件说明
| 文件类型 | 示例 | 说明 |
|---|---|---|
| 文本报告 | TEST-com.example.wxpush.WxPushApplicationTests.txt |
人类可读的测试结果 |
| XML 报告 | TEST-com.example.wxpush.WxPushApplicationTests.xml |
机器可读的 XML 格式(用于 CI/CD) |
| 转储文件 | 2026-05-07T09-37-55_707-jvmRun1.dump |
调试信息,包含 JVM 执行过程中的日志、错误等 |
你看到的 .dump 文件
# Created at 2026-05-07T09:38:02.737
这是 Maven Surefire 插件生成的调试转储文件,记录了测试执行的详细过程(包括 JVM 状态、日志输出等),主要用于:
- 调试测试失败
- 分析测试性能问题
- 排查 JVM 相关问题
总结
| 问题 | 答案 |
|---|---|
| 是什么? | Maven 自动生成的测试报告目录 |
| 怎么生成? | 执行 mvn test 时由 maven-surefire-plugin 自动生成 |
| 在哪里? | target/surefire-reports/ |
| 需要提交吗? | 不需要,target/ 目录通常在 .gitignore 中忽略 |
你现在这个 .dump 文件记录了刚才发送模板消息测试的执行过程!

.dump 文件详解
这是什么文件?
.dump 文件是 Maven Surefire 插件的 JVM 转储文件(dump 在这里是"转储"、"快照"的意思)。
什么时候生成?
| 情况 | 说明 |
|---|---|
| ❌ JVM 意外退出 | System.exit() 被调用,或者进程被强制杀死 |
| ⚠️ 进程检查失败 | Surefire 无法检查父进程是否存活(你这次的情况) |
| ❌ 严重错误 | 比如 OutOfMemoryError、StackOverflowError 等 |
你这次的情况
从文件内容看:
java.lang.IllegalStateException: error [STOPPED] to read process 33164
不是测试失败! 是 Surefire 插件在检查父进程状态时出现的小问题,不影响测试结果。
为什么这个文件没更新?
| 原因 | 说明 |
|---|---|
| 文件名 | 文件名是固定的,包含第一次出现问题的时间戳 |
| 不覆盖 | 之后测试即使成功,这个旧的转储文件也会保留,不会被覆盖 |
| 可以删除 | 你可以安全删除这个 .dump 文件 |
总结
| 问题 | 答案 |
|---|---|
.dump 是什么? |
JVM 转储文件,用于调试 Surefire 插件问题 |
| 什么时候更新? | 只有当出现新的严重问题时 才会生成新的 .dump 文件(文件名不同) |
| 可以删除吗? | ✅ 可以安全删除,不影响项目 |
那么生成的这个呢

这两个 jar 包是怎么生成的?
它们都是由 Maven 的 spring-boot-maven-plugin 插件在 mvn package 时生成的。
两个 jar 包的区别
| 文件 | 说明 |
|---|---|
wx-push-demo-1.0.0.jar |
可执行 jar 包(Fat JAR),包含了所有依赖和 Spring Boot 的启动类,可以直接运行 |
wx-push-demo-1.0.0.jar.original |
原始 jar 包,只包含项目编译的 class 文件,不包含依赖,是 spring-boot-maven-plugin 生成可执行 jar 前的备份 |
生成过程
当你执行 mvn package 时:
- Maven 先编译和打包 → 生成原始 jar 包(
.jar.original) - Spring Boot 插件重打包 → 把原始 jar 包改名为
.original,然后生成可执行 jar 包(.jar)
如何使用?
| jar 包 | 使用方式 |
|---|---|
wx-push-demo-1.0.0.jar |
java -jar target/wx-push-demo-1.0.0.jar |
wx-push-demo-1.0.0.jar.original |
通常不用,是备份文件 |
总结
| 问题 | 答案 |
|---|---|
| 生成命令? | mvn package |
| 哪个是可执行的? | wx-push-demo-1.0.0.jar(Fat JAR) |
.original 是什么?** |
Spring Boot 插件重打包前的原始 jar 包备份 |