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



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