簡體   English   中英

JMeter ClassNotFoundException on Java 請求采樣器 class

[英]JMeter ClassNotFoundException on Java Request Sampler class

盡管完成了以下步驟,JMeter(5.5)在 Java 請求中沒有看到采樣器 class :

  • 采樣器在 uber jar
  • Jar 添加到 /lib 和 /lib/ext
  • jmeter.properties user.classpath 和 search_path 已經過測試(運氣不好)
  • Jar 添加到 GUI 的測試計划中
  • Sampler 正在擴展 AbstractJavaSamplerClient
2022-08-30 15:27:34,324 ERROR o.a.j.p.j.c.g.JavaConfigGui: Error creating class:'package.SseSampler' in JavaSampler ${__threadNum}  SSE ${Username}, check for a missing jar in your jmeter 'search_paths' and 'plugin_dependency_paths' properties
java.lang.ClassNotFoundException: package.SseSampler
    at java.net.URLClassLoader.findClass(URLClassLoader.java:445) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:587) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
    at java.lang.Class.forName0(Native Method) ~[?:?]
    at java.lang.Class.forName(Class.java:467) ~[?:?]
    at org.apache.jmeter.protocol.java.config.gui.JavaConfigGui.classOk(JavaConfigGui.java:272) ~[ApacheJMeter_java.jar:5.5]
    at org.apache.jmeter.protocol.java.config.gui.JavaConfigGui.configure(JavaConfigGui.java:260) ~[ApacheJMeter_java.jar:5.5]
    at org.apache.jmeter.protocol.java.control.gui.JavaTestSamplerGui.configure(JavaTestSamplerGui.java:89) ~[ApacheJMeter_java.jar:5.5]
    at org.apache.jmeter.gui.GuiPackage.refreshCurrentGui(GuiPackage.java:468) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.gui.GuiPackage.updateCurrentGui(GuiPackage.java:452) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.gui.action.ActionRouter.performAction(ActionRouter.java:79) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.gui.action.ActionRouter.doActionNow(ActionRouter.java:124) ~[ApacheJMeter_core.jar:5.5]
    at org.apache.jmeter.gui.MainFrame.actionPerformed(MainFrame.java:899) ~[ApacheJMeter_core.jar:5.5]
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) ~[?:?]
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313) ~[?:?]
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) ~[?:?]
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) ~[?:?]
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) ~[?:?]
    at com.github.weisj.darklaf.ui.button.DarkButtonListener.mouseReleased(DarkButtonListener.java:72) ~[darklaf-core-2.7.3.jar:2.7.3]
    at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297) ~[?:?]
    at java.awt.Component.processMouseEvent(Component.java:6626) ~[?:?]
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3389) ~[?:?]
    at java.awt.Component.processEvent(Component.java:6391) ~[?:?]
    at java.awt.Container.processEvent(Container.java:2266) ~[?:?]
    at java.awt.Component.dispatchEventImpl(Component.java:5001) ~[?:?]
    at java.awt.Container.dispatchEventImpl(Container.java:2324) ~[?:?]
    at java.awt.Component.dispatchEvent(Component.java:4833) ~[?:?]
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) ~[?:?]
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) ~[?:?]
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) ~[?:?]
    at java.awt.Container.dispatchEventImpl(Container.java:2310) ~[?:?]
    at java.awt.Window.dispatchEventImpl(Window.java:2780) ~[?:?]
    at java.awt.Component.dispatchEvent(Component.java:4833) ~[?:?]
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) ~[?:?]
    at java.awt.EventQueue$4.run(EventQueue.java:722) ~[?:?]
    at java.awt.EventQueue$4.run(EventQueue.java:716) ~[?:?]
    at java.security.AccessController.doPrivileged(AccessController.java:399) ~[?:?]
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) ~[?:?]
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) ~[?:?]
    at java.awt.EventQueue$5.run(EventQueue.java:746) ~[?:?]
    at java.awt.EventQueue$5.run(EventQueue.java:744) ~[?:?]
    at java.security.AccessController.doPrivileged(AccessController.java:399) ~[?:?]
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) ~[?:?]
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:743) ~[?:?]
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?]
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?]
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) ~[?:?]
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) ~[?:?]
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[?:?]
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) ~[?:?]

一切都在 5.4.1 版本中運行,但由於某種原因,它現在無法在我的機器上運行,所以我想嘗試使用最新的。

環境:

  • Windows 10 企業
  • Java 11 openjdk版本“11.0.14”2022-01-18 LTS
  1. 將 your.jar 放到 JMeter 安裝的“lib/ext”文件夾中
  2. 重啟JMeter即可接機
  3. 不需要其他操作,即不要修改Classpath ,不要將其包含在測試計划中等。

如果您想要參考實現,您可以查看RSAEncrypt.javaRSADecrypt.java

如果您按照Beanshell vs. JSR223 vs. Java For JMeter: Complete Showdown文章中的安裝說明進行操作,您應該在那里看到接下來的 2 個人:

在此處輸入圖像描述

如果您看到它們 - 那么您的 jar 有問題,請查看jmeter.log 文件,看看那里是否有任何可疑條目。

如果您沒有看到它們 - 那么您的 JMeter 安裝有問題,最好從頭開始重新安裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM