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 包备份
相关推荐
用户1563068103512 小时前
Day01 | Java 基础(Java SE)
java
行者全栈架构师4 小时前
Maven dependency:tree 的 8 个高级用法
java·后端
行者全栈架构师8 小时前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_08 小时前
mac(m5)平台编译openjdk
java
唐青枫1 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马1 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户3721574261351 天前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户3721574261351 天前
Java 打印 Word 文档:从基础打印到高级设置
java
用户3521802454752 天前
当 Prompt 学会"热更新":Spring Boot × Nacos3 AI 实战
java·spring boot·ai编程
东坡白菜2 天前
破局全栈:一个前端开发的Java入门实战记录(1)
java·全栈