当我尝试保存测试计划时,为什么会出现 NoClassDefFound 错误?

And*_*rew 2 java windows jmeter windows-10 jmeter-5.0

我安装了 apache-jmeter-5.1.1 和 java 1.8.0_221 (8),并且正在浏览入门指南以在 GUI 中构建 Web 测试计划。但是当我单击保存以保存测试计划时,我收到以下错误:

未捕获的异常 java.lang.NoClassDefFoundError:无法初始化类 org.apache.jmeter.gui.util.FileDialoger。有关详细信息,请参阅日志文件。

调试器中的完整输出:

2019-07-24 15:30:13,306 ERROR o.a.j.JMeter: Uncaught exception: 
java.lang.NoClassDefFoundError: Could not initialize class org.apache.jmeter.gui.util.FileDialoger
    at org.apache.jmeter.gui.action.Save.computeFileName(Save.java:203) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.gui.action.Save.doAction(Save.java:165) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:88) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:70) ~[ApacheJMeter_core.jar:5.1.1 r1855137]
    at java.awt.event.InvocationEvent.dispatch(Unknown Source) ~[?:1.8.0_221]
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) ~[?:1.8.0_221]
    at java.awt.EventQueue.access$500(Unknown Source) ~[?:1.8.0_221]
    at java.awt.EventQueue$3.run(Unknown Source) ~[?:1.8.0_221]
    at java.awt.EventQueue$3.run(Unknown Source) ~[?:1.8.0_221]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_221]
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) ~[?:1.8.0_221]
    at java.awt.EventQueue.dispatchEvent(Unknown Source) ~[?:1.8.0_221]
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_221]
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_221]
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_221]
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_221]
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_221]
    at java.awt.EventDispatchThread.run(Unknown Source) [?:1.8.0_221]
Run Code Online (Sandbox Code Playgroud)

知道如何解决吗?

小智 12

请尝试以下操作:

  1. 打开 JMeter -> 选项 -> 外观 -> 选择 Darcula 以外的任何其他主题。
  2. 重新启动 JMeter,创建测试计划并尝试保存。
  3. 保存应该有效。

  • 我需要使用“Metal”,因为 MacOS 上的许多其他版本仍然失败,并出现与 Darcula 相同的错误。Metal 始终可用,因为它是永远存在的 JDK 默认主题。 (2认同)