You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JMeter 5.5生成HTML报告失败仅生成JSON文件求助

JMeter生成HTML报告失败仅生成JSON文件的解决办法

问题场景

使用Apache JMeter 5.5和JDK 1.8.0_352,通过非GUI模式执行命令:

jmeter -n -t ./MockTest.jmx -l report.jtl

已成功生成report.jtl文件,但执行命令:

jmeter -g ./report.jtl -o ./myStat01

生成HTML报告时未达预期,仅生成了JSON文件。查看jmeter_html_report.log发现核心错误为模板目录无效,完整日志翻译如下:

2022-12-19 17:00:09,488 INFO o.a.j.r.p.AbstractSampleConsumer: 类org.apache.jmeter.report.processor.graph.impl.ResponseTimePercentilesOverTimeGraphConsumer#stopProducing(): responseTimePercentilesOverTime生成了0个样本
2022-12-19 17:00:09,488 INFO o.a.j.r.p.AbstractSampleConsumer: 类org.apache.jmeter.report.processor.graph.impl.ResponseTimeOverTimeGraphConsumer#stopProducing(): responseTimesOverTime生成了0个样本
2022-12-19 17:00:09,488 INFO o.a.j.r.p.AbstractSampleConsumer: 类org.apache.jmeter.report.processor.graph.impl.ConnectTimeOverTimeGraphConsumer#stopProducing(): connectTimeOverTime生成了0个样本
2022-12-19 17:00:09,488 INFO o.a.j.r.p.AbstractSampleConsumer: 类org.apache.jmeter.report.processor.graph.impl.LatencyOverTimeGraphConsumer#stopProducing(): latenciesOverTime生成了0个样本
2022-12-19 17:00:09,488 INFO o.a.j.r.p.AbstractSampleConsumer: 类org.apache.jmeter.report.processor.FilterConsumer#stopProducing(): nameFilter生成了750个样本
2022-12-19 17:00:09,488 INFO o.a.j.r.p.AbstractSampleConsumer: 类org.apache.jmeter.report.processor.FilterConsumer#stopProducing(): dateRangeFilter生成了150个样本
2022-12-19 17:00:09,488 INFO o.a.j.r.p.AbstractSampleConsumer: 类org.apache.jmeter.report.processor.NormalizerSampleConsumer#stopProducing(): normalizer生成了50个样本
2022-12-19 17:00:09,488 INFO o.a.j.r.p.CsvFileSampleSource: produce(): 在通道0上用39ms生成了50个样本
2022-12-19 17:00:09,488 INFO o.a.j.r.d.ReportGenerator: 使用导出器:'json'(类名:'org.apache.jmeter.report.dashboard.JsonExporter')导出数据
2022-12-19 17:00:09,576 INFO o.a.j.r.d.JsonExporter: 在上下文中找到consumer statisticsSummary的数据
2022-12-19 17:00:09,576 INFO o.a.j.r.d.JsonExporter: 为整体创建统计数据
2022-12-19 17:00:09,577 INFO o.a.j.r.d.JsonExporter: 为其他事务创建统计数据
2022-12-19 17:00:09,577 INFO o.a.j.r.d.JsonExporter: 检查输出文件夹
2022-12-19 17:00:09,578 INFO o.a.j.r.d.JsonExporter: 将统计JSON写入/home/apache-jmeter-5.5/bin/myStat01/statistics.json
2022-12-19 17:00:09,601 INFO o.a.j.r.d.ReportGenerator: 使用导出器:'html'(类名:'org.apache.jmeter.report.dashboard.HtmlTemplateExporter')导出数据
2022-12-19 17:00:09,602 ERROR o.a.j.r.d.HtmlTemplateExporter: "/home/apache-jmeter-5.5/bin/report-template"不是有效的模板目录
2022-12-19 17:00:09,603 ERROR o.a.j.JMeter: 发生错误: 
org.apache.jmeter.report.dashboard.GenerationException: 数据导出器"html"无法导出数据。
    at org.apache.jmeter.report.dashboard.ReportGenerator.exportData(ReportGenerator.java:388) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.report.dashboard.ReportGenerator.generate(ReportGenerator.java:260) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.JMeter.start(JMeter.java:462) ~[ApacheJMeter_core.jar:5.5]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_352]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_352]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_352]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_352]
    at org.apache.jmeter.NewDriver.main(NewDriver.java:259) ~[ApacheJMeter.jar:5.5]
Caused by: org.apache.jmeter.report.dashboard.ExportException: "/home/apache-jmeter-5.5/bin/report-template"不是有效的模板目录
    at org.apache.jmeter.report.dashboard.HtmlTemplateExporter.export(HtmlTemplateExporter.java:316) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.report.dashboard.ReportGenerator.exportData(ReportGenerator.java:382) ~[ApacheJMeter_core.jar:5.5]
    ... 7 more

问题原因

JMeter默认从安装根目录下的report-template文件夹读取HTML报告模板,但当前命令执行时,JMeter错误地在bin子目录下查找该模板文件夹,导致HTML导出失败,仅完成了JSON数据的导出。

解决步骤

1. 确认模板目录位置

检查JMeter安装根目录(如/home/apache-jmeter-5.5)下是否存在report-template文件夹,该文件夹是JMeter生成HTML报告的核心依赖,不能缺失或被移动。

2. 指定正确模板目录执行命令

在生成HTML报告时,通过-Jjmeter.report.template.dir参数手动指定正确的模板路径:

jmeter -g ./report.jtl -o ./myStat01 -Jjmeter.report.template.dir=/home/apache-jmeter-5.5/report-template

3. 修复不完整的JMeter安装

如果report-template文件夹不存在,说明你的JMeter安装包不完整,需重新下载官方完整安装包并解压,避免使用精简版或自行删除核心文件。

4. 规范工作目录

执行命令时确保当前工作目录为JMeter的bin目录,或使用绝对路径指定report.jtl和输出目录,避免路径解析错误。

内容的提问来源于stack exchange,提问作者Akhil Vasudevan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 13:50:45