我收到以下错误:
Error:(87, 20) java: cannot access org.apache.jmeter.testelement.TestIterationListener
class file for org.apache.jmeter.testelement.TestIterationListener not found
我不知道为什么 . 以下是有问题代码的一些信息:
进口:
import org.apache.jmeter.assertions.ResponseAssertion;
import org.apache.jmeter.control.LoopController;
import org.apache.jmeter.engine.StandardJMeterEngine;
import org.apache.jmeter.protocol.http.sampler.HTTPSampler;
import org.apache.jmeter.testelement.TestElement;
import org.apache.jmeter.testelement.TestPlan;
import org.apache.jmeter.threads.SetupThreadGroup;
import org.apache.jorphan.collections.HashTree;
导致此错误的函数:
private HTTPSampler createHttpSampler(String method, String host, int port, String path){
HTTPSampler httpSampler = new HTTPSampler();
httpSampler.setMethod(method);
httpSampler.setDomain(host);
httpSampler.setPort(port);
httpSampler.setPath(path);
return httpSampler;
}
我的Pom.xml中的J-Meter-Dependencies
<!-- https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_core -->
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_core</artifactId>
<version>2.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_http -->
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_http</artifactId>
<version>2.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.jmeter/ApacheJMeter_java -->
<dependency>
<groupId>org.apache.jmeter</groupId>
<artifactId>ApacheJMeter_java</artifactId>
<version>3.1</version>
</dependency>
你们也许知道导致这个问题的原因是什么?有没有办法检查我必须添加哪个依赖项来获取
org.apache.jmeter.testelement.TestIterationListener
1 回答
很可能这个错误是由所谓的jar hell引起的,当时不同的JMeter库依赖于不同的依赖版本,这些版本以某种方式在某处发生冲突 .
从 3 different versions 获取JMeter库是否有任何特定原因?根据JMeter Best Practices,您应该始终使用最新版本的JMeter,截至目前为JMeter 5.0,因此请考虑修改您的依赖项,如下所示:
您还可以考虑在HTTP Request采样器创建中添加下一行:
这将允许您在JMeter GUI中打开生成的测试计划 .