您的位置:首页 > 其它

jmeter之读取环境变量中的配置文件

2014-11-18 17:46 585 查看
新浪围脖>@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:可以实现,细心的朋友可以去查查,很多博文有介绍的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: