为什么我不能在Jmeter中单击打开图标?

为什么我不能在Jmeter中单击打开图标?,jmeter,Jmeter,以下是单击“打开”图标时出现的错误: 2021-05-20 12:11:25651错误o.a.j.JMeter:线程[AWT-EventQueue-0,6,main]中出现未捕获异常 java.lang.IllegalAccessError:class com.github.weisj.darklaf.ui.filechooser.darkfilepaneubridge$DetailsTableModel(在未命名模块@0x21507a04中)无法访问类sun.awt.shell.ShellFo

以下是单击“打开”图标时出现的错误:

2021-05-20 12:11:25651错误o.a.j.JMeter:线程[AWT-EventQueue-0,6,main]中出现未捕获异常 java.lang.IllegalAccessError:class com.github.weisj.darklaf.ui.filechooser.darkfilepaneubridge$DetailsTableModel(在未命名模块@0x21507a04中)无法访问类sun.awt.shell.ShellFolder(在模块java.desktop中),因为模块java.desktop没有将sun.awt.shell导出到未命名模块@0x21507a04 在com.github.weisj.darklaf.ui.filechooser.darkfilepaneubridge$DetailsTableModel.updatecolumnfo(darkfilepaneubridge.java:1128)~[darklaf-core-2.5.4.jar:2.5.4] 在com.github.weisj.darklaf.ui.filechooser.darkfilepaneubridge$DetailsTableModel.(darkfilepaneubridge.java:1115)~[darklaf-core-2.5.4.jar:2.5.4] 在com.github.weisj.darklaf.ui.filechooser.darkfilepaneubridge.getDetailsTableModel(darkfilepaneubridge.java:576)~[darklaf-core-2.5.4.jar:2.5.4] 在com.github.weisj.darklaf.ui.filechooser.darkfilepaneubridge$SortableListModel.(darkfilepaneubridge.java:1079)~[darklaf-core-2.5.4.jar:2.5.4] 在com.github.weisj.darklaf.ui.filechooser.DarkFilePane.createList(DarkFilePane.java:137)~[darklaf-core-2.5.4.jar:2.5.4] 在com.github.weisj.darklaf.ui.filechooser.DarkFileChooserUIBridge.createList(DarkFileChooserUIBridge.java:585)~[darklaf-core-2.5.4.jar:2.5.4] 在com.github.weisj.darklaf.ui.filechooser.DarkFileChooserUIBridge$MetalFileChooserUIAccessor.createList(DarkFileChooserUIBridge.java:750)~[darklaf-core-2.5.4.jar:2.5.4] 在com.github.weisj.darklaf.ui.filechooser.darkfilepaneubridge.setViewType(darkfilepaneubridge.java:376)~[darklaf-core-2.5.4.jar:2.5.4] 在com.github.weisj.darklaf.ui.filechooser.darkfilepaneubridge.propertyChange(darkfilepaneubridge.java:890)~[darklaf-core-2.5.4.jar:2.5.4] 在java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:342)~[?:?] 在java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:334)~[?:?] 在java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:267)~[?:?] 在java.awt.Component.firePropertyChange(Component.java:8713)~[?:?] 在javax.swing.JComponent.setUI(JComponent.java:688)~[?:?] 在javax.swing.JFileChooser.updateUI(JFileChooser.java:1838)~[?:?] 在javax.swing.JFileChooser.setup(JFileChooser.java:395)~[?:?] 在javax.swing.JFileChooser.(JFileChooser.java:361)~[?:?] 在javax.swing.JFileChooser.(JFileChooser.java:308)~[?:?] 在org.apache.jmeter.gui.util.FileDialoger.(FileDialoger.java:42)~[ApacheJMeter_core.jar:5.4.1] 在org.apache.jmeter.gui.action.Load.doActionAfterCheck(Load.java:75)~[ApacheJMeter_core.jar:5.4.1] 在org.apache.jmeter.gui.action.AbstractActionWithNoRunningTest.doAction(AbstractActionWithNoRunningTest.java:44)~[ApacheJMeter_core.jar:5.4.1] 在org.apache.jmeter.gui.action.ActionRouter.performation(ActionRouter.java:87)~[ApacheJMeter_core.jar:5.4.1] 在org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:69)~[ApacheJMeter_core.jar:5.4.1] 在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)~[?:?] 在java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)~[?:?] 在java.awt.EventQueue$4.run(EventQueue.java:721)~[?:?] 在java.awt.EventQueue$4.run(EventQueue.java:715)~[?:?] 在java.security.AccessController.doPrivileged(AccessController.java:391)~[?:?] 在java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)~[?:?] 在java.awt.EventQueue.dispatchEvent(EventQueue.java:740)~[?:?] 位于java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)[?:?] 在java.awt.EventDispatchThread.PumpeEventsforFilter(EventDispatchThread.java:124)[?:?] 在java.awt.EventDispatchThread.PumpeEventsforHierarchy(EventDispatchThread.java:113)[?:?] 在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)[?:?] 在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)[?:?]
在java.awt.EventDispatchThread.run(EventDispatchThread.java:90)[?:?]

听起来您面临着一个问题,请尝试将java更改为另一个版本,即

  • 升级至(其LTS版本)
  • 降级到(这是能够运行JMeter 5.4.1的最低版本)
您还可以通过运行JMeter尝试切换到跨平台的外观,如下所示:

jmeter -Jjmeter.laf=CrossPlatform ....
如果有帮助,您可以将下一行添加到user.properties文件中,使更改永久化:

最后,您可以通过
-t
参数在GUI模式下打开.jmx脚本,如下所示:

jmeter -t /path/to/your/test.jmx
这样JMeter将启动并打开您的测试计划(希望如此)

更多信息:


我也遇到了同样的问题,找到了这个解决方法,但它对我不起作用:

将以下内容添加到jmeter.bat中的
JAVA9_OPTS
变量中:
--add opens=java.desktop/sun.awt.shell=ALL-UNNAMED

资料来源:


相反,使用今天的JMeter 5.5快照对我来说是可行的:

您使用最新的JMeter版本吗?您运行的是哪台机器?不幸的是,设置
jmeter.laf=CrossPlatform
对我不起作用。还有别的想法吗?谢天谢地,5.5快照作为一个解决方案非常有效
jmeter -t /path/to/your/test.jmx