当我尝试保存测试计划时,为啥会收到 NoClassDefFound 错误?

Posted

技术标签:

【中文标题】当我尝试保存测试计划时,为啥会收到 NoClassDefFound 错误?【英文标题】:Why do I get a NoClassDefFound error when I try to save my test plan?当我尝试保存测试计划时,为什么会收到 NoClassDefFound 错误? 【发布时间】:2019-12-03 00:45:54 【问题描述】:

我安装了 apache-jmeter-5.1.1 和 java 1.8.0_221 (8),并通过getting started guide 在 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]

知道怎么解决吗?

【问题讨论】:

java.lang.NoClassDefFoundError: Could not initialize class org.apache.jmeter.gui.util.MenuFactory的可能重复 @matiaselgart 全新安装,我没有在 JMeter 中添加/更改任何文件 我会在您运行 JMeter 时检查您的类路径。似乎是缺少或冲突的 jar 类型的问题。抱歉,无法提供更多帮助。 【参考方案1】:

尝试以下方法:

    打开 JMeter -> 选项 -> 外观 -> 选择任何其他主题 除了达库拉。 重启JMeter,创建测试计划并尝试 保存。 保存应该可以。

【讨论】:

我需要使用“Metal”,因为 MacOS 上的许多其他工具仍然失败,并出现与 Darcula 相同的错误。 Metal 始终可用,因为它是一直存在的 JDK 默认主题。

以上是关于当我尝试保存测试计划时,为啥会收到 NoClassDefFound 错误?的主要内容,如果未能解决你的问题,请参考以下文章

当我尝试访问我的 CodeIgniter 应用程序时,为啥会收到 404 错误?

当我尝试从双向链表中删除最后一个元素时,为啥会收到“信号 SIGSEGV,分段错误”?

当我尝试在我的代码中使用 re.sub 表达式时,为啥会收到一个名为“预期字符串或类似对象的字节”的错误 [重复]

当我尝试使用 EF 在 ASP.NET MVC5 中查询视图时,为啥会收到错误“数据库 'ELITEPROD' 中的 CREATE TABLE 权限被拒绝”?

为啥在 DB2 上执行查询时会收到 SyntaxErrorException?

为啥当我第二次使用完全相同的参数调用 IMMUTABLE 函数时,计划时间会加倍?