新浪圍脖>@o蝸牛快跑o 企鵝交流羣>79642549
一、路徑相關配置文件,只需要瞭解清楚jmeter工作路徑(參考:jmeter之相對路徑差異化處理)或用絕對路徑即可找到對應配置文件
二、環境變量中的配置文件,這類文件需要放到jmeter環境變量中
說道這裏大家可能以爲jmeter_home/bin目錄是jmeter的classpath路徑,其實不是;
再試試jmeter_home/lib,也不是;
又通過添加在user.properties添加classpath目錄,還是無法加載;
最後使用必殺技能,修改jmeter.bat,通過java -cp config_dir -jar ApacheJMeter.jar %JMETER_CMD_LINE_ARGS%啓動jmeter,結局失敗。
幾乎放棄的時候,苗頭指向了-jar參數,又查了幾篇博文,這才發現-jar參數會忽略-cp,以及環境變量CLASSPATH的參數
再後來看jmeter源碼的時候也發現,jmeter對classloader有封裝和重寫,也不能用常用方法
經過千辛萬苦找到了問題解決方法,使用java -Xbootclasspath/a:dir參數
jmeter啓動腳本修改如下:
以免破壞jmeter原始啓動文件,新建測試相關目錄,新建config目錄(腳本里會用到)
新建jmeter-start.bat或jmeter-start.sh
1. jmeter-start.bat
rem Windows
set JVM_ARGS=-Xbootclasspath/a:config
%jmeter_home%\bin\jmeter.bat
2. jmeter-start.sh
# linux
export JVM_ARGS=-Xbootclasspath/a:config
$jmeter_home/bin/jmeter.sh
-------------------------問題解決方案--------------------------
一 BootStrap class擴展方案
Java 命令行提供瞭如何擴展bootStrap 級別class的簡單方法.
-Xbootclasspath: 完全取代基本核心的Java class 搜索路徑.
不常用,否則要重新寫所有Java 核心class
-Xbootclasspath/a: 後綴在覈心class搜索路徑後面.常用!!
-Xbootclasspath/p: 前綴在覈心class搜索路徑前面.不常用,避免
引起不必要的衝突.
注:爲什麼用-Xbootclasspath/a:可以實現,細心的朋友可以去查查,很多博文有介紹的