【问题标题】:JMeter: unable to resolve class (org.apache.commons.lang.RandomStringUtils) when jar with that class in lib folderJMeter:当 jar 在 lib 文件夹中时,无法解析类(org.apache.commons.lang.RandomStringUtils)
【发布时间】:2019-11-08 09:51:34
【问题描述】:

我需要在服务器上运行JMeter 测试计划,我在运行时收到错误:unable to resolve class org.apache.commons.lang.RandomStringUtils at line import org.apache.commons.lang.RandomStringUtils;

据我了解,服务器 JMeter 位置缺少一些插件。在网络搜索与 JMeter 相关的问题未成功后,我找到了页面 https://commons.apache.org/proper/commons-lang/javadocs/api-3.9/org/apache/commons/lang3/RandomStringUtils.html

我从 apache 站点下载了 commons-lang 包,它包含文件 commons-lang*.jar。在 JMeter 的 lib 文件夹中,还有 jar 类型的文件,在测试计划工作的工作站上,我在 jmeter 的 bin 文件夹中找到了 commons-lang3-3.8.1.jar jar。运行 jar -tf 表明它有 RandomStringUtils 类。我将文件复制到服务器的lib 文件夹中。但错误仍然存​​在。

我已经阅读了Java jars unable to resolve class,但我认为 jmeter 在lib 中查找插件 jar 文件,因为那里已经有很多文件。

还有什么问题?我应该以某种方式注册插件吗?根据我的经验,只需将jar 复制到lib/ext 就足够了。 JMeter 版本相同:5.1.1。

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    我在jar 的输出中注意到我发现了另一个类(在 apache 页面上的描述中也很明显):org/apache/commons/lang3/RandomStringUtils.class 而不是org/apache/commons/lang/RandomStringUtils.class

    以下命令有助于在本地站上找到正确的 jar: echo;find /usr/local/javaapps/apache-jmeter-5.1.1/lib -name *.jar -exec sh -c "jar -tf {} | grep RandomString && echo && ls {} && echo && echo" \;

    它“发生”为jmeter-plugins-manager-1.3.jar。为什么我不知道为什么这样奇怪的(恕我直言)位置,但将其复制到服务器解决了这个问题。如果有人知道为什么该文件包含该类,请在 cmets 中分享。

    【讨论】:

      【解决方案2】:

      问题是安装了jmeter-plugins-manager-1.3.jar,因为jmeter-pluigns-manager 包含StringUtils 类。还有许多其他可导入的类。

      这可以通过解压 jmeter-plugins-manager-1.3.jar 文件来查看。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-09-16
        • 1970-01-01
        • 2021-07-02
        • 2020-12-25
        • 2022-07-05
        • 2017-03-21
        • 1970-01-01
        相关资源
        最近更新 更多