JMeter 引入 JAR 包的几种方法

JMeter 支持加载外部 JAR 文件,用于:

  • 扩展 JMeter 功能
  • 使用 Java 代码(BeanShell / JSR223)
  • 连接数据库 / 解析 Excel / 读取 CSV

📌 1. JMeter 引入 JAR 包的方式

✅ 方式 1:将 JAR 放入 lib/lib/ext/

  1. 找到 JMeter lib 目录

    复制代码
    cd /apache-jmeter-5.6.3/lib/
  2. 拷贝 JAR 文件

    复制代码
    cp /path/to/mylibrary.jar /apache-jmeter-5.6.3/lib/
  3. 如果是 JMeter 插件(如 JDBC 驱动),放入 lib/ext/

    复制代码
    cp mysql-connector-java.jar /apache-jmeter-5.6.3/lib/ext/
  4. 重启 JMeter

    复制代码
    jmeter

🚀 JMeter 会自动加载 lib/lib/ext/ 目录下的 JAR!


✅ 方式 2:在 jmeter.properties 指定 JAR 目录

  1. 打开 jmeter.properties

    复制代码
    nano /apache-jmeter-5.6.3/bin/jmeter.properties
  2. 修改 user.classpath,添加 JAR 目录

    复制代码
    user.classpath=dependencies/lib/*.jar
  3. 保存后重启 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! 🔥

相关推荐
岁月失语唯石能言19 小时前
《 Web项目测试实战:博客系统的功能/接口/自动化/性能全流程测试报告》
自动化测试·功能测试·selenium·jmeter·接口测试·压力测试·性能测试
中国软件测试质量协会2 天前
国产性能测试工具:kylinPET高仿真与高并发性能测试技术深度解析——与JMeter、LoadRunner全面对比
测试工具·jmeter
拜托多多指教3 天前
【JMeter】外观设置(Mac)
jmeter
川石课堂软件测试10 天前
自动化测试常见的异常处理
python·jmeter·mysql·docker·容器·单元测试·grafana
wuhuhuan10 天前
JMeter 性能测试教程
jmeter
行者-全栈开发11 天前
JMeter + InfluxDB + Grafana:搭建生产级压测实时监控与告警体系
jmeter·grafana·时序数据库·influxdb·实时监控·backendlistener·告警性能测试
wuhuhuan12 天前
【JMeter 学习打卡 Day 7】从会用到会用对,完成一次完整压测
学习·jmeter
行者-全栈开发14 天前
JMeter 自定义 Sampler 开发:从零写 TCP 私有协议压测插件
jmeter·tcp协议·源码解析·插件开发·gradle构建·自定义sampler·abstractsampler
wuhuhuan14 天前
【JMeter 学习打卡 Day 5】控制流程和节奏的利器
学习·jmeter