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 包备份
相关推荐
谢亮_vipxieliang23 分钟前
Stream API 不是银弹:常见坑与性能建议
java·开发语言
源码宝36 分钟前
Web‑PACS 云影像源码|Java+Vue3 医院影像管理系统完整方案
java·源码·影像pacs·成品源码·医院影像系统
ShineWinsu1 小时前
对于Redis:string类型的解析
java·c++·redis·分布式·缓存·面试·string
三8443 小时前
Fastjson 漏洞 · 02 · autoType 机制与 checkAutoType
java·fastjson
无限码力3 小时前
小红书笔试真题 9.17 - 待发热度重排(C++/Py/Java /Js/Go)
java·小红书·小红书笔试真题·小红书技术岗笔试真题
卓怡学长3 小时前
w194基于ssm新能源汽车充电系统小程序
java·小程序·intellij-idea
JAVA面经实录9173 小时前
Java高级后端 · 全套面试通关手册(MySQL)
java·mysql·面试
光依旧4 小时前
MCP实战手记(八):从“能跑“到“能上线“——无状态MCP Server的生产落地清单
java·人工智能·spring boot·架构·ai agent·mcp
弹简特5 小时前
【Java项目-企悦抽】15-活动管理模块02-活动创建测试与活动列表实现
java·开发语言·springboot