jmeter5.0使用過程中,遇到request或者response亂碼的情況,想要一次性解決這個問題,需要編譯ApacheJMeter_http.jar這個包(lib\ext文件下)里的RequestViewHTTP.class文件把encoding默認值修改成UTF-8
由於不懂java本想網上下載編譯好的ApacheJMeter_http.jar,有同學應用可以 但是我這邊還是不可以,還有http錄制的時候錄制到的中文也是亂碼 所以還得編譯DefaultSamplerCreator.class文件但是網上下載的ApacheJMeter_http.jar只編譯了的RequestViewHTTP.class,所以決定自己編譯jmeter5.0源碼
1、jmeter5.0源碼下載地址:http://jmeter.apache.org/download_jmeter.cgi,windows系統選擇Source目錄下的zip包;解壓到任何文件夾
2、eclipse IDE下載地址:https://www.eclipse.org/downloads/,默認安裝就可以
3、打開eclipse 選擇file-new-java project(jmeter是java寫的),配置如圖,點擊next
2、選擇建立的項目myjmeter右鍵選擇import。。。按下面的步驟導入jmeter5.0的源代碼
Browse...選擇解壓后的jmeter5.0
3、build.xml用ant editor打開(build.xml右鍵選擇open with-ant editor)
4、用ant運行download_jars,在build.xml列表里找到download_jars雙擊運行,下載依賴的jar包,或者選中download_jars,點擊運行按鈕
5、打開navigator( Windows-Show View-Navigator)雙擊打開.classpath 和 eclipse.classpath,復制eclipse.classpath內容到.classpath
同樣的步驟復制eclipse.project內容到.project,重啟eclipse(重啟后如果myjmeter項目和下載的包提示紅色X,先不用管,因為還沒有導入他們依賴的包)
6、myjmeter右鍵-Build Path-Configure Build Path...去除帶紅色X號的jar包(remove),添加myjmeter-lib和其子文件夾下的所有jar包
7、添加完成以后,打開RequestViewHttp.java和PostWrite.java修改默認編碼為uft-8,
8、 DefaultSamplerCreator.java 中encoding調用的PostWrite.java的編碼可以不用修改也可以直接修改成"utf-8"
9、復制jmeter5.0源碼中的 jmeter.properties和log4j2.xml到myjmeter項目bin目錄下,
10、修改完后,ant editor列表中運行install,運行完成后myjmeter項目和jar包不在現實紅色X提示
11、雙擊myjmeter文件夾bin目錄下的ApacheJMeter.jar,jmeter運行成功
12、jd-gui打開myjmeter-lib-ext-ApacheJMeter_http.jar檢查之前修改的有沒有生效
到此編譯成功,大家可以拿編譯好的ApacheJMeter_http.jar包替換jmeter安裝版本里的這個包就可以了