Apache JMeter 异常 NoSuchMethodError

问题描述

我正在尝试对使用 JMeter 记录的某些事务运行负载测试,但是在执行时显示以下错误

线程“HomePage_thread 10-2”中的异常 java.lang.NoSuchMethodError: 'void org.apache.commons.io.IoUtils.closeQuietly(java.io.Closeable,java.util.function.Consumer)' 在 org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.readResponse(HTTPSamplerBase.java:1982) 在 org.apache.jmeter.protocol.http.sampler.HTTPAbstractImpl.readResponse(HTTPAbstractImpl.java:476) 在 org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:673) 在 org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:66) 在 org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1296) 在 org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1285) 在 org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:638) 在 org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558) 在 org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489) 在 org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256) 在 java.base/java.lang.Thread.run(Thread.java:832)

知道是什么问题吗?

解决方法

您的设置至少需要 commons-io-2.7.jar 可用

public static void closeQuietly(Closeable closeable,消费者消费者)

自: 2.7

如果存在,请删除此 jar 的旧版本

,

经典Jar Hell

  1. Deeplearning4j depends on commons-io 2.5
  2. JMeter HTTP 组件 depends on commons-io 2.8

您需要修改项目类路径以仅包含 commons-io 2.8 才能使 JMeter 工作或降级到依赖于 commons-io 2.5 的 JMeter 3.1