新浪围脖>@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:可以实现,细心的朋友可以去查查,很多博文有介绍的