jmeter之讀取環境變量中的配置文件

新浪圍脖>@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:可以實現,細心的朋友可以去查查,很多博文有介紹的


發佈了38 篇原創文章 · 獲贊 15 · 訪問量 64萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章