一. 方法一
通过ClassLoader获取当前路径,想在java脚本里读取druid.properties,路径如下
apache-jmeter
--bin
--druid.properties
相关代码:
public static void loadProps() {
String execPath = JdbcWrapper.class.getClassLoader().getClass().getResource("").getPath();
String realPath = execPath.substring(execPath.indexOf(":")+1, execPath.indexOf("!")-16);
Properties tempProperties = new Properties();
InputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(realPath + "druid.properties"));
// in = new BufferedInputStream(new
// FileInputStream("system.properties"));
tempProperties.load(in);
} catch (IOException e) {
log.error("加载system.properties文件失败", e);
throw new RuntimeException("加载system.properties文件失败", e);
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
log.error("关闭system.properties文件失败", e);
throw new RuntimeException(
"关闭system.properties文件失败", e);
}
}
}
properties = tempProperties;
}
二.方法二
通过打包配置文件到jmeter执行jar包的的方式
1. 代码里调用方式
in = new BufferedInputStream(new FileInputStream("system.properties"));
2. 将配置文件导入jar包
由于bin目录并不在jmeter的classpath中,所以需要执行一些额外的工作来把jndi.properties添加到jmeter的classpath中,把jndi.properties打包到jmeter的启动jar包中。jmeter的启动jar包为JMETER_HOME/bin/ApacheJMeter.jar,所以需要把jndi.properties 打包到这个 jar 文件中,或者执行如下操作,打开命令行窗口,并定位到 JMETER_HOME/bin 目录,运行如下命令 jar uf ApacheJMeter.jar jndi.properties