mvn test

文章目录


前言

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 状态、日志输出等),主要用于:

  1. 调试测试失败
  2. 分析测试性能问题
  3. 排查 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 时:

  1. Maven 先编译和打包 → 生成原始 jar 包(.jar.original)
  2. 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 包备份
相关推荐
缓慢更新6 小时前
审批的加签与会签:多人意见怎么合
android·java·数据库·低代码·rxjava
yuniko-n7 小时前
【JUC】volatile 非原子性深入解析
java
sun_weitao7 小时前
极简版 MCP 工具实现方案
java·linux·服务器
金銀銅鐵9 小时前
[Java] 展示增删元素时 LinkedList 的内部变化
java·后端·ai编程
布吉岛的石头9 小时前
Java 程序员第 50 阶段3:数据工程:预训练语料清洗与去重
java·开发语言·人工智能·深度学习·transformer
大文说跨境9 小时前
防关联浏览器的指纹覆盖到什么程度:六类参数的实测与自检方法
java·指纹浏览器·tiktok运营
Carol063010 小时前
上肢及肩肘关节
java·服务器·数据库
yliucherish10 小时前
Log4Shell 复现实录:我读 OpenJDK 源码,发现两道防线的默认值竟然相反
java
维拉德10 小时前
Java新人第一次接打标需求:从抓包找接口到客户端展示
java
luobobo89610 小时前
支付回调验签连续失败三天,最后发现是网关的时间戳单位问题
java