Jmeter-java请求执行报错:java.lang.NoSuchFieldError: INSTANCE
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter-java请求执行报错:java.lang.NoSuchFieldError: INSTANCE相关的知识,希望对你有一定的参考价值。
本次测试背景:
1.使用jmeter压力测试Java接口,开发提供了一个jar,并且提供了依赖jar包
2.写完测试类后打包成jar,放入D:\software\apache-jmeter-2.13\lib\ext
3.可以正常启动jmeter.当执行用例时,错误出现了
报错截图:
如果大家遇到上面截图这个问题,不要慌张,慢慢排查问题
出现这个问题的原因,多半是因为某些jar重复了。
解决方案:
1.判断你要测试的jar包中是否有和jmeter一样的jar,根据我的测试,发现确实有两个jar相同
在我写的测试类中,引用的lib里
在jmeter(X:\XXXX\apache-jmeter-2.13\lib)里
可以看到,我的测试类里引用是4.4.1,但官网提供最新的jmeter的lib里还是4.2.X,所以我们将最新的jar(4.4.1),替换到X:\XXXX\apache-jmeter-2.13\lib下,使jmeter也拥有了新版本,这样问题就解决了。
总结:遇到以上问题,1.核对是否有重复jar 2.版本号是否一致
画外音:在此之前,开发提供给我的jar的版本号是4.2,没有发生此问题,因为Jmeter里的这两个Jar版本要高于开发提供的,所以jmeter默认使用了自己的;
当Jmeter里的这两个Jar版本低于开发提供的版本时,问题就暴露了。这也体现了java特性:向下兼容
以上是关于Jmeter-java请求执行报错:java.lang.NoSuchFieldError: INSTANCE的主要内容,如果未能解决你的问题,请参考以下文章