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 分钟前
Java多用户一对一网页聊天室-测试报告
java·开发语言·功能测试·测试
Jasonakeke1 小时前
SpringBoot自动配置原理揭秘
java·spring boot·后端
2301_803538951 小时前
Java读取Word图片的两种实用方法
java·开发语言·word
C+-C资深大佬2 小时前
SSM 框架(Spring + SpringMVC + MyBatis)
java·spring·mybatis
帅次2 小时前
Android 17 开发者实战:核心更新与应用场景落地指南
android·java·ios·android studio·iphone·android jetpack·webview
Ramble_Naylor2 小时前
东方通(TongWeb)SpringBoot开发指导
java·spring boot
大鹏说大话2 小时前
SQL 排序与分组实战:解决“分组后取最新数据“
android·java·数据库
云烟成雨TD2 小时前
Spring AI Alibaba 1.x 系列【64】 ReactAgent 长期记忆
java·人工智能·spring
quan26312 小时前
20260529,日常开发-数据库主从问题
java·mysql·主从·延迟
JacksonMx3 小时前
@Transactional 最佳实践
java·spring boot·spring·性能优化