【问题标题】:JMeter - ElasticSearch backend listener plugin doesn't workJMeter - ElasticSearch 后端侦听器插件不起作用
【发布时间】:2017-10-18 07:51:19
【问题描述】:

我有 JMeter 3.3,我添加了 ElasticSearch backend listener 插件。

我打开 JMeter GUI 并尝试创建后端侦听器,但失败并出现错误:

2017-10-17 14:35:24,785 ERROR o.a.j.g.GuiPackage: Problem retrieving gui for org.apache.jmeter.visualizers.backend.BackendListenerGui
java.lang.NoClassDefFoundError: okhttp3/MediaType
    at net.kvak.jmeter.backendlistener.elasticsearch.ElasticsearchBackend.<clinit>(ElasticsearchBackend.java:50) ~[elasticsearch-backend-listener-1.5.jar:?]
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_144]
    at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_144]
    at org.apache.jmeter.visualizers.backend.BackendListenerGui.actionPerformed(BackendListenerGui.java:166) ~[ApacheJMeter_components.jar:3.3 r1808647]
    at javax.swing.JComboBox.fireActionEvent(Unknown Source) ~[?:1.8.0_144]
    at javax.swing.JComboBox.setSelectedItem(Unknown Source) ~[?:1.8.0_144]
    at javax.swing.JComboBox.setSelectedIndex(Unknown Source) ~[?:1.8.0_144]
    at org.apache.jmeter.visualizers.backend.BackendListenerGui.clearGui(BackendListenerGui.java:281) ~[ApacheJMeter_components.jar:3.3 r1808647]
    at org.apache.jmeter.gui.GuiPackage.createTestElement(GuiPackage.java:348) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.gui.action.AddToTree.doAction(AddToTree.java:68) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:80) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:65) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at java.awt.event.InvocationEvent.dispatch(Unknown Source) [?:1.8.0_144]
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) [?:1.8.0_144]
    at java.awt.EventQueue.access$500(Unknown Source) [?:1.8.0_144]
    at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_144]
    at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_144]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_144]
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) [?:1.8.0_144]
    at java.awt.EventQueue.dispatchEvent(Unknown Source) [?:1.8.0_144]
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_144]
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_144]
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_144]
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_144]
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_144]
    at java.awt.EventDispatchThread.run(Unknown Source) [?:1.8.0_144]
Caused by: java.lang.ClassNotFoundException: okhttp3.MediaType
    at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_144]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_144]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_144]
    ... 26 more
2017-10-17 14:35:30,212 ERROR o.a.j.g.a.AddToTree: Exception while adding a component to tree.
java.lang.RuntimeException: java.lang.NoClassDefFoundError: okhttp3/MediaType
    at org.apache.jmeter.gui.GuiPackage.createTestElement(GuiPackage.java:359) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.gui.action.AddToTree.doAction(AddToTree.java:68) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:80) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at org.apache.jmeter.gui.action.ActionRouter.lambda$actionPerformed$0(ActionRouter.java:65) ~[ApacheJMeter_core.jar:3.3 r1808647]
    at java.awt.event.InvocationEvent.dispatch(Unknown Source) [?:1.8.0_144]
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source) [?:1.8.0_144]
    at java.awt.EventQueue.access$500(Unknown Source) [?:1.8.0_144]
    at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_144]
    at java.awt.EventQueue$3.run(Unknown Source) [?:1.8.0_144]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_144]
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) [?:1.8.0_144]
    at java.awt.EventQueue.dispatchEvent(Unknown Source) [?:1.8.0_144]
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) [?:1.8.0_144]
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) [?:1.8.0_144]
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) [?:1.8.0_144]
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_144]
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) [?:1.8.0_144]
    at java.awt.EventDispatchThread.run(Unknown Source) [?:1.8.0_144]
Caused by: java.lang.NoClassDefFoundError: okhttp3/MediaType
    at net.kvak.jmeter.backendlistener.elasticsearch.ElasticsearchBackend.<clinit>(ElasticsearchBackend.java:50) ~[elasticsearch-backend-listener-1.5.jar:?]
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_144]
    at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_144]
    at org.apache.jmeter.visualizers.backend.BackendListenerGui.actionPerformed(BackendListenerGui.java:166) ~[ApacheJMeter_components.jar:3.3 r1808647]
    at javax.swing.JComboBox.fireActionEvent(Unknown Source) ~[?:1.8.0_144]
    at javax.swing.JComboBox.setSelectedItem(Unknown Source) ~[?:1.8.0_144]
    at javax.swing.JComboBox.setSelectedIndex(Unknown Source) ~[?:1.8.0_144]
    at org.apache.jmeter.visualizers.backend.BackendListenerGui.clearGui(BackendListenerGui.java:281) ~[ApacheJMeter_components.jar:3.3 r1808647]
    at org.apache.jmeter.gui.GuiPackage.createTestElement(GuiPackage.java:348) ~[ApacheJMeter_core.jar:3.3 r1808647]
    ... 17 more
Caused by: java.lang.ClassNotFoundException: okhttp3.MediaType
    at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_144]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_144]
    at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_144]
    at net.kvak.jmeter.backendlistener.elasticsearch.ElasticsearchBackend.<clinit>(ElasticsearchBackend.java:50) ~[elasticsearch-backend-listener-1.5.jar:?]
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_144]
    at java.lang.Class.forName(Unknown Source) ~[?:1.8.0_144]
    at org.apache.jmeter.visualizers.backend.BackendListenerGui.actionPerformed(BackendListenerGui.java:166) ~[ApacheJMeter_components.jar:3.3 r1808647]
    at javax.swing.JComboBox.fireActionEvent(Unknown Source) ~[?:1.8.0_144]
    at javax.swing.JComboBox.setSelectedItem(Unknown Source) ~[?:1.8.0_144]
    at javax.swing.JComboBox.setSelectedIndex(Unknown Source) ~[?:1.8.0_144]
    at org.apache.jmeter.visualizers.backend.BackendListenerGui.clearGui(BackendListenerGui.java:281) ~[ApacheJMeter_components.jar:3.3 r1808647]
    at org.apache.jmeter.gui.GuiPackage.createTestElement(GuiPackage.java:348) ~[ApacheJMeter_core.jar:3.3 r1808647]
    ... 17 more

plugin group 发送了问题,但没有收到任何答复。

它是否仅适用于其他插件/jar?在不同的版本上?

为什么它在 https://jmeter-plugins.org/ 中没有页面(尽管它显示在站点的搜索结果中)?

【问题讨论】:

    标签: jmeter jmeter-plugins


    【解决方案1】:

    好的,通过插件管理器安装插件时,知道是什么导致了这个问题。基本上,在其依赖项的 JSON 文件之一中缺少键/值对。

    提出了拉取请求。现在,要解决这个问题,您需要做的就是下载一些 JAR 文件并将它们放入您的“$JMETER_HOME/lib”文件夹中。

    Okio 1.13.0

    OkHttp 3.9.1

    GSON 2.8.2

    【讨论】:

      【解决方案2】:

      您的依赖项似乎缺失或版本错误。

      缺少的依赖项是 okhttp 或其依赖项之一。

      将它们添加到 jmeter/lib 文件夹中。

      【讨论】:

      • 插件应该与 JMeter(3.3) 上的现有 jar 一起使用,或者在安装或发行说明中添加相关的 jar,不是吗?
      【解决方案3】:

      我是修改插件并将其放在 jmeter-plugins 上的人。这似乎是两个版本的 OkHttpClient 之间的冲突。一个由插件加载,另一个尚未找到。目前正在调查中,一旦修复将发布 2.0。

      我想为延迟回答道歉(字面意思是刚刚找到你的帖子)。如需更多帮助,请哦,请随时在 GitHub 存储库页面上打开问题 :)。

      https://github.com/delirius325/JMeter_ElasticsearchBackendListener/

      祝你好运

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多