-Guser.classpath=arhivo.jar not load .jar



我正在使用JMeter 5.0模式无GUI和OpenJDK运行时环境Corretto-8.322.06.1 (build 1.8.0_322-b06)

jmeter.bat -f -Ghilos=1 -Gsubida=1 -Gciclo=1 -GDatosCajero=DT_TramasATMPropios.csv -Guser.classpath=trama.jar -n -LERROR -t Cajeros_distribuidos.jmx -l result.csv -Djmeter.save.saveservice.output_format=csv -Ljmeter.engine=DEBUG

误差参数

-Guser.classpath=file.jar 

在jmeter.log中全局获取参数

INFO o.a.j.JMeter: Setting全局属性:user.classpath=trama.jar

Jmeter.log

误差

ERROR . a.j.u.beanshellinterpreter:调用bsh方法出错:eval源文件:内联求值:' ' import cajeros . receicionparametrocajeros;导入java.util.concurrent.ThreadLoc…":类型化变量声明:Class: receicionparametroscjeros在命名空间中找不到

在非gui JMeter命令中使用属性,但是当我使用

属性时,它不接受.jar。
-Juser.classpath=file.jar

如果它接受它,它也接受rego全局变量-G

全局使用-G进行分布式测试

我无法使用以下虚拟简单类重现您的问题:

package Cajeros;
public class RecepcionParametrosCajeros {
public RecepcionParametrosCajeros() {
}
public String foo() {
return "foo";
}
}

导入jar:

jmeter -Juser.classpath=trama.jar

和调用

import Cajeros.RecepcionParametrosCajeros;
String foo = new RecepcionParametrosCajeros().foo();
log.info("Got string " + foo);

所以再次检查文件是否存在于JMeter的"bin"目录

更多信息:

  • JMeter的类路径
  • 通过命令行重写属性

还要注意以下建议:

  1. 始终使用最新版本的JMeter,考虑迁移到JMeter 5.5
  2. 从JMeter 3.1开始,建议使用JSR223测试元素和Groovy语言编写脚本。它也可以解决你的问题,因为Beanshell不是100% Java兼容,你可能会面临泛型,内部类,Java 5之后引入的功能等问题。

最新更新