JMeter创建Hashtable触发语法错误,<符号不被支持问题求助
问题原因
你遇到的报错和<字符本身无关,核心原因是:
- JMeter JSR223组件里可选的「Java」脚本语言实际使用BeanShell解释器执行代码,而BeanShell至今未兼容Java 5及以上版本引入的泛型语法,所以会把你声明泛型时的
<识别为非法字符,直接抛出解析错误。
解决方案
方案1:保留BeanShell解释器,去掉泛型声明
直接修改第7行代码,删除泛型定义即可正常运行。Java泛型本身是编译期的语法糖,运行时会自动擦除,去掉泛型不会影响后续的put、get操作:
// 把原来的泛型声明去掉即可 Hashtable mqProps = new Hashtable();
方案2(更推荐):切换脚本语言为Groovy
JMeter官方首推使用Groovy作为JSR223脚本语言,相比BeanShell优势明显:
- 完全兼容所有Java语法,支持泛型、Lambda等Java 8+特性
- 执行性能远高于BeanShell,高并发场景下资源占用低很多
操作方式就是把JSR223采样器的脚本语言下拉框从java改成groovy,原有代码不需要修改就能直接运行。
内容的提问来源于stack exchange,提问作者jordan
相关产品推荐
相关产品推荐

