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特性:向下兼容



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章