JMeter 支持加载外部 JAR 文件,用于:
- 扩展 JMeter 功能
- 使用 Java 代码(BeanShell / JSR223)
- 连接数据库 / 解析 Excel / 读取 CSV
📌 1. JMeter 引入 JAR 包的方式
✅ 方式 1:将 JAR 放入 lib/
或 lib/ext/
-
找到 JMeter
lib
目录cd /apache-jmeter-5.6.3/lib/
-
拷贝 JAR 文件
cp /path/to/mylibrary.jar /apache-jmeter-5.6.3/lib/
-
如果是 JMeter 插件(如 JDBC 驱动),放入
lib/ext/
cp mysql-connector-java.jar /apache-jmeter-5.6.3/lib/ext/
-
重启 JMeter
jmeter
🚀 JMeter 会自动加载 lib/
和 lib/ext/
目录下的 JAR!
✅ 方式 2:在 jmeter.properties
指定 JAR 目录
-
打开
jmeter.properties
nano /apache-jmeter-5.6.3/bin/jmeter.properties
-
修改
user.classpath
,添加 JAR 目录user.classpath=dependencies/lib/*.jar
-
保存后重启 JMeter
jmeter
✅ 方式 3:手动加载 JAR(BeanShell / JSR223 取样器)
如果 JAR 不在 lib/
目录 ,可以在 BeanShell
/ JSR223
取样器中手动加载:
// 手动加载 JAR
AddClassPath("/path/to/mylibrary.jar");
// 导入 Java 类
import com.example.MyClass;
MyClass obj = new MyClass();
log.info("✅ JAR 加载成功:" + obj.someMethod());
🚀 适用于 BeanShell
/ JSR223
运行时动态加载 JAR
📌 2. 验证 JAR 是否加载成功
✅ 方法 1:使用 jar tf
检查 JAR 内容
jar tf /apache-jmeter-5.6.3/lib/mylibrary.jar | grep MyClass
如果 com/example/MyClass.class
存在,说明 JAR 包含正确的类。
✅ 方法 2:打印类路径
在 BeanShell 取样器
运行:
log.info("✅ JMeter classpath: " + System.getProperty("java.class.path"));
如果 JAR 路径未包含 /apache-jmeter-5.6.3/lib/mylibrary.jar
,说明 JMeter 没有加载 JAR。
📌 3. 解决 JAR 包未加载的问题
问题 | 解决方案 |
---|---|
JAR 没有生效 | 放入 lib/ ,重启 JMeter |
JMeter 找不到类 | 使用 user.classpath 指定 JAR |
BeanShell / JSR223 仍然报错 | 手动 AddClassPath() 加载 JAR |
🚀 推荐方案:放入 lib/
,并在 jmeter.properties
配置 user.classpath
,即可自动加载 JAR! 🔥