mvn test

文章目录


前言

surefire-reports 是什么?

surefire-reportsMaven 测试报告目录,由 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 无法检查父进程是否存活(你这次的情况)
严重错误 比如 OutOfMemoryErrorStackOverflowError

你这次的情况

从文件内容看:

复制代码
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 包备份
相关推荐
圆山猫4 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
城管不管5 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
IT小白杨5 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器
豆瓣鸡5 小时前
算法日记 - Day3
java·开发语言·算法
萧瑟余晖6 小时前
Java深入解析篇九之NIO详解
java·网络·nio
The Chosen One9856 小时前
高进度算法模板速记(待完善)
java·前端·算法
极光代码工作室8 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
Leighteen9 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜9 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
圆山猫10 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v