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

JMeter 5.1使用POI读取Excel报InvocationTargetException问题求助

排查与解决方案

  1. 修正变量初始化错误
    你当前代码的对象初始化存在类型不匹配问题:
// 错误写法:字符串不能赋值给XSSFWorkbook类型
XSSFWorkbook book = "";
// 替换为正确写法
XSSFWorkbook book = null;
  1. 修正JMeter变量取值方式
    JSR223脚本中禁止直接使用${PATH}格式读取JMeter变量,这种写法会引发缓存、特殊字符转义问题,替换为API取值:
// 把原来的new File("${PATH}")替换为
new File(vars.get("PATH"))
  1. 替换脚本执行引擎
    当前你使用的BeanShell引擎对Java类实例化兼容性差,建议切换为JMeter默认自带的Groovy引擎:在JSR223采样器的「语言」下拉框选择groovy即可,Groovy的性能和兼容性都远高于BeanShell。

  2. 检查文件与路径有效性

  • 确认PATH变量对应的路径是绝对路径,且JMeter进程对该文件有读取权限
  • 确认对应文件是.xlsx格式的Excel文件,旧版.xls格式需使用HSSFWorkbook类处理
  • 确认文件没有被WPS、Office等其他程序占用锁定
  1. 修正异常日志打印逻辑
    当前你只打印了异常的message,看不到底层根因,修改catch块的日志输出:
catch (Exception e) {
     log.error("读取Excel文件失败", e);
}

重新运行后查看jmeter.log文件,可以看到具体的底层报错(比如文件不存在、格式损坏等)。

  1. 检查依赖安装正确性
    所有导入的jar包必须放在JMeter安装目录的lib/ext文件夹下,放置完成后必须重启JMeter才会生效。如果依然报错,建议升级POI版本到4.1.2,和JMeter 5.1的兼容性更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:39:03