从apachejmeter.jar运行JMeter-在执行Jmeter脚本时出现错误,使用jmeter.bat文件运行时有效

3yhwsihp  于 2022-11-09  发布在  Apache
关注(0)|答案(1)|浏览(300)

我有一个简单的JMeter脚本,在那里我使用并行控制器发送几个GET请求。当我运行脚本时,通过使用jmeter.bat文件加载JMeter。Jmeter Test工作时没有任何错误。当我从bin中的ApacheJmetr.jar文件运行JMeter时,我得到了下面的错误,所以我想知道到底是什么区别,因为它是从jmeter.bat文件,而不是从apachejmeter.jar文件工作。

java.lang.reflect.InaccessibleObjectException: Unable to make field java.lang.ThreadLocal$ThreadLocalMap java.lang.Thread.inheritableThreadLocals accessible: module java.base does not "opens java.lang" to unnamed module @222114ba
    at java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) ~[?:?]
    at java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) ~[?:?]
    at java.lang.reflect.Field.checkCanSetAccessible(Field.java:180) ~[?:?]```
lskq00tm

lskq00tm1#

jmeter.bat启动脚本是为Java虚拟机生成一些参数的 Package 程序,特别是您的错误是由于缺少第112行中设置的parameterse(对于JMeter 5.5
因此,您需要:
1.将Java降级到Java 8
1.或者添加与jmeter.bat启动脚本相同的JVM参数,即:

java --add-opens java.desktop/sun.awt=ALL-UNNAMED --add-opens java.desktop/sun.swing=ALL-UNNAMED --add-opens java.desktop/javax.swing.text.html=ALL-UNNAMED --add-opens java.desktop/java.awt=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.text=ALL-UNNAMED --add-opens=java.desktop/sun.awt.shell=ALL-UNNAMED -jar ApacheJMeter.jar

相关问题