首页 问答 jmeter报错java.awt.HeadlessException: null
问题详情

报错信息如下:

2023-06-06 12:24:07,969 ERROR o.a.j.JMeter: An error occurred:
java.awt.HeadlessException: null
	at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204) ~[?:1.8.0_231]
	at java.awt.Window.<init>(Window.java:536) ~[?:1.8.0_231]
	at java.awt.Frame.<init>(Frame.java:420) ~[?:1.8.0_231]
	at java.awt.Frame.<init>(Frame.java:385) ~[?:1.8.0_231]
	at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1763) ~[?:1.8.0_231]
	at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1838) ~[?:1.8.0_231]
	at javax.swing.JDialog.<init>(JDialog.java:272) ~[?:1.8.0_231]
	at javax.swing.JDialog.<init>(JDialog.java:206) ~[?:1.8.0_231]
	at javax.swing.JDialog.<init>(JDialog.java:154) ~[?:1.8.0_231]
	at org.apache.jmeter.SplashScreen.<init>(SplashScreen.java:52) ~[ApacheJMeter_core.jar:5.5]
	at org.apache.jmeter.JMeterGuiLauncher.startGuiInternal(JMeterGuiLauncher.kt:87) ~[ApacheJMeter_core.jar:5.5]
	at org.apache.jmeter.JMeterGuiLauncher.access$startGuiInternal(JMeterGuiLauncher.kt:47) ~[ApacheJMeter_core.jar:5.5]
	at org.apache.jmeter.JMeterGuiLauncher$startGui$1$1.invokeSuspend(JMeterGuiLauncher.kt:67) ~[ApacheJMeter_core.jar:5.5]
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) ~[kotlin-stdlib-1.6.21.jar:1.6.21-release-334(1.6.21)]
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) ~[kotlinx-coroutines-core-jvm-1.6.1.jar:?]
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[?:1.8.0_231]
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) ~[?:1.8.0_231]
	at java.awt.EventQueue.access$500(EventQueue.java:97) ~[?:1.8.0_231]
	at java.awt.EventQueue$3.run(EventQueue.java:709) ~[?:1.8.0_231]
	at java.awt.EventQueue$3.run(EventQueue.java:703) ~[?:1.8.0_231]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_231]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) ~[?:1.8.0_231]
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) ~[?:1.8.0_231]
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) ~[?:1.8.0_231]
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) ~[?:1.8.0_231]
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) ~[?:1.8.0_231]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[?:1.8.0_231]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) ~[?:1.8.0_231]
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) ~[?:1.8.0_231]

回答

这个错误提示是由于 JMeter 在启动时尝试创建一个提供程序和设备无关的用户界面,但发现当前环境不支持此类型的界面,因此抛出了 HeadlessException 异常。

  1. 设置jmeter-server为非GUI模式:运行JMeter时,使用非GUI模式而不是默认的GUI模式。可以通过在命令行或脚本中使用以下参数来启用非GUI模式:jmeter -n -t <test_file.jmx>
  2. 禁用图形界面:如果要在GUI模式下运行JMeter,可以禁用图形界面来避免此问题。可以通过在 jmeter.properties 文件中将以下属性 jmeter.gui.action.on_quit 设置为 save,禁用退出时保存图形界面状态并强制关闭图形界面。然后,在运行 JMeter 之前,使用命令行参数 -Djava.awt.headless=true 来禁用图形界面。
  3. 检查当前系统配置:如果你无法禁用图形界面,并且仍然遇到此问题,则可以检查当前系统的 GUI 是否可用,或者是否缺少必需的包或库。
    4.确保您已经安装了 Java 运行时环境(JRE)或 Java 开发工具包(JDK),并且已将其添加到系统 PATH 环境变量中。
    5.确保您的 JMeter 版本与您的 Java 版本兼容。请查看 JMeter 官方文档以获取有关 JMeter 版本和 Java 版本兼容性的信息。
    6.如果您使用的是 Linux 或 macOS 系统,请确保您已安装 X11 服务器。
    7.如果您使用的是 Windows 系统,请确保您已安装正确的 Microsoft Visual C++ 运行时库。

版权:言论仅代表个人观点,不代表官方立场。转载请注明出处:https://www.stntk.com/question/2547.html

发表评论
暂无评论

还没有评论呢,快来抢沙发~

点击联系客服

在线时间:8:00-16:00

客服QQ

70068002

客服电话

400-888-8888

客服邮箱

70068002@qq.com

扫描二维码

关注微信公众号

扫描二维码

手机访问本站