当前位置: 首页 > 知识库问答 >
问题:

更新log4j文件到2.17后,无法在Linux使用JMeterPluginsCMD. sh创建CSV文件

路雅懿
2023-03-14

下面是一个示例命令-

Jmeter master:/tmp$JMeterpluginCmd。sh——生成csv/tmp/test。csv——输入jtl/tmp/jmeter。jtl——插件类型聚合报表

这适用于Windows和。更新log4j文件后的bat文件,但不使用。Linux中的sh。我得到以下错误。还有人遇到过这个吗?顺便说一句——一周前,它在Linux中运行良好,但在某个时候停止了工作,不记得做过任何突破性的更改。

错误:java。lang.NoClassDefFoundError:kg/apc/logging/LoggingUtils***问题的技术细节如下***主目录在线程“main”java中检测到:/opt/apache-jmeter-5.0/lib异常。lang.NoClassDefFoundError:kg/apc/logging/LoggingUtils在kg处。apc。cmdtools。报表工具。(ReporterTool.java:17)在java。base/jdk。内部的反映国家建筑配件公司。java上的newInstance0(本机方法)。base/jdk。内部的反映国家建筑配件公司。java上的newInstance(NativeConstructorAccessorImpl.java:62)。base/jdk。内部的反映授权构造或AccessorImpl。java上的newInstance(DelegatingConstructorAccessorImpl.java:45)。base/java。朗,反思一下。建造师。java上的newInstance(Constructor.java:490)。base/java。朗,同学们。kg的newInstance(Class.java:584)。apc。CMD工具。PluginsCMD。getToolInstance(pluginCmd.java:128)位于kg。apc。CMD工具。PluginsCMD。processParams(PluginsCMD.java:50)每公斤。apc。CMD工具。PluginsCMD。java上的processParams(pluginCmd.java:21)。base/jdk。内部的反映NativeMethodAccessorImpl。在java上调用0(本机方法)。base/jdk。内部的反映NativeMethodAccessorImpl。在java上调用(NativeMethodAccessorImpl.java:62)。base/jdk。内部的反映DelegatingMethodAccessorImpl。在java上调用(DelegatingMethodAccessorImpl.java:43)。base/java。朗,反思一下。方法在kg处调用(Method.java:566)。apc。cmd。环球跑步者。main(UniversalRunner.java:115)由:java引起。lang.ClassNotFoundException:公斤。apc。登录中。爪哇的日志记录。base/java。网URLClassLoader。java上的findClass(URLClassLoader.java:476)。base/java。lang.ClassLoader。java上的loadClass(ClassLoader.java:589)。base/java。lang.ClassLoader。loadClass(ClassLoader.java:522)。。。还有14个

具体的自动化步骤-

RUN curl -fsSL --compressed -o /tmp/jmeter.tgz https://dlcdn.apache.org//jmeter/binaries/$JMETER_VERSION.tgz \
    && tar -C /opt -xzf /tmp/jmeter.tgz \
    && rm /tmp/jmeter.tgz \
    && chmod +w /opt/$JMETER_VERSION/lib \
    && curl -fsSL --compressed -o /opt/$JMETER_VERSION/lib/jmeter-plugins-cmn-jmeter-0.7-sources.jar https://search.maven.org/classic/remotecontent?filepath=kg/apc/jmeter-plugins-cmn-jmeter/0.7/jmeter-plugins-cmn-jmeter-0.7-sources.jar \
    && curl -fsSL --compressed -o /tmp/mysql-connector.tar.gz https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-6.0.3.tar.gz \
    && tar -C /opt/$JMETER_VERSION/lib -xzvf /tmp/mysql-connector.tar.gz --strip-components 1 mysql-connector-java-6.0.3/mysql-connector-java-6.0.3-bin.jar \
    && rm /tmp/mysql-connector.tar.gz \
    && curl -fsSL --compressed -o /opt/$JMETER_VERSION/lib/ext/jmeter-plugins-manager.jar https://jmeter-plugins.org/get \
    && curl -fsSL --compressed -o /opt/$JMETER_VERSION/lib/cmdrunner-$CMDRUNNER_VERSION.jar https://repo1.maven.org/maven2/kg/apc/cmdrunner/$CMDRUNNER_VERSION/cmdrunner-$CMDRUNNER_VERSION.jar \
    && java -cp /opt/$JMETER_VERSION/lib/ext/jmeter-plugins-manager.jar org.jmeterplugins.repository.PluginManagerCMDInstaller \
    && /opt/$JMETER_VERSION/bin/PluginsManagerCMD.sh install-all-except jpgc-hadoop,jpgc-oauth,ulp-jmeter-gwt-plugin,ulp-jmeter-autocorrelator-plugin,ulp-jmeter-videostreaming-plugin \
    && sleep 2 \
    && /opt/$JMETER_VERSION/bin/PluginsManagerCMD.sh status

尝试执行JMeterPluginsCMD时出错。嘘-

2021-12-30 13:03:12,008 WARN o.j.r.Plugin: Unable to load class: nz.co.breakpoint.jmeter.vizualizers.sshmon.SSHMonCollector
java.lang.NoClassDefFoundError: kg/apc/jmeter/vizualizers/MonitoringResultsCollector
    at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?]
    at java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[?:?]
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[?:?]
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:555) ~[?:?]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:458) ~[?:?]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:452) ~[?:?]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:451) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
    at org.jmeterplugins.repository.Plugin.getJARPath(Plugin.java:202) [jmeter-plugins-manager.jar:?]
    at org.jmeterplugins.repository.Plugin.detectInstalledPlugin(Plugin.java:108) [jmeter-plugins-manager.jar:?]
    at org.jmeterplugins.repository.Plugin.detectInstalled(Plugin.java:97) [jmeter-plugins-manager.jar:?]
    at org.jmeterplugins.repository.PluginManager.load(PluginManager.java:86) [jmeter-plugins-manager.jar:?]
    at org.jmeterplugins.repository.PluginManager.getStaticManager(PluginManager.java:344) [jmeter-plugins-manager.jar:?]
    at org.jmeterplugins.repository.PluginManager.getAllPluginsStatus(PluginManager.java:370) [jmeter-plugins-manager.jar:?]
    at org.jmeterplugins.repository.PluginManagerCMD.processParams(PluginManagerCMD.java:72) [jmeter-plugins-manager.jar:?]
    at kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:62) [cmdrunner-2.2.jar:?]
    at kg.apc.cmdtools.PluginsCMD.processParams(PluginsCMD.java:21) [cmdrunner-2.2.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at kg.apc.cmd.UniversalRunner.main(UniversalRunner.java:115) [cmdrunner-2.2.jar:?]
Caused by: java.lang.ClassNotFoundException: kg.apc.jmeter.vizualizers.MonitoringResultsCollector
    at java.net.URLClassLoader.findClass(URLClassLoader.java:476) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
    ... 24 more

共有3个答案

宋航
2023-03-14

我无法创建CSV文件的原因是,这是使用JMeterPluginsCMD完成的。嘘,这根本不存在。用于创建JMeterPluginsCMD的命令。sh和JMeterPluginsCMD。bat文件不起作用。

它并没有抛出一个我能看到的错误,但它也并没有创建错误。嘘或者。bat文件位于/bin文件夹中。

据我所知,应该这么做的命令是-

java -cp jmeter-plugins-manager.jar org.jmeterplugins.repository.JMeterPluginsCMDInstaller

我正在结束这个问题,如果我不能弄清楚为什么我没有得到这些sh和bat文件,我将打开另一个问题。

在这种情况下,通过GUI进行此操作不是一个选项,因为测试是通过自动化设置和执行的。

卢晟
2023-03-14

我不知道“将log4j文件更新到2.17”是什么意思,你得到的错误是缺少jmeter插件cmn jmeter。JMeter类路径中的jar

如果你喜欢手动的。jar库操作您可以将最喜欢的版本下载到JMeter安装的“lib”文件夹中,在下一次重新启动JMeter或运行命令行图形生成器工具时,错误应该会消失。

不过,我建议:

  • 使用JMeter Plugins Manager而不是手动编排JMeter插件
  • 使用最新版本的JMeter而不是尝试升级单个组件
柴彬
2023-03-14

java.lang.NoClassDefFoundError通常与运行时环境版本有关。尝试检查Java版本是否相等。

如果它们不相等,请尝试相应地在Linux系统上更新/降级您的版本。

如果它们相等,请尝试检查缺少的库。

 类似资料:
  • 使用log4j library 1.1.4和slf4j-api 1.7.25在我的应用程序中进行日志记录可以很好地工作。 但是在将log4j库从1.1.4版本更新到1.1.5(或更高版本)之后,日志文件只会停止创建,不会产生任何异常或警告。即使是1.1.5版本也相当老,所以我宁愿使用更新的版本。配置的工作方式一定发生了变化,但我找不到是什么。 这段简单的代码将在Log4J1.1.4中创建滚动日志文

  • 我不清楚java程序是如何知道xml文件的位置的。我想这就是问题所在。这就是我在代码中的设置, 任何帮助都是徒劳的。谢了。

  • TL;博士 Spark 1.6.1无法在没有HDFS的独立群集上使用Spark CSV 1.4写入CSV文件,IOException Mkdirs无法创建文件 更多详细信息: 我正在使用Scala使用本地文件系统(我运行的机器上甚至没有HDFS)在独立集群上运行它的Spark 1.6.1应用程序。我有这个数据框架,我试图使用HiveContext将其保存为CSV文件。 这就是我正在运行的: 我使用

  • 问题内容: 我想在我的Java项目中使用Log4j,我应该在配置文件中提供该配置,该配置文件每天晚上12:00将生成一个新文件,并且文件名应类似于 -output- log-of-MyProjectName-HostName-2013-Dec-10。 txt 名称)。我的配置文件就是这样- 它每天都在创建新文件,但在文件名后附加日期。请帮我。提前致谢。 问题答案: 我认为您想要DailyRolli

  • 我想创造一个新的世界。cmd文件,用于过滤所有。csv文件,然后创建一组。包含结果的csv文件。 下面是一个场景。 有很多。文件夹中的csv文件csv文件中的第一列数据包含一个代码在哪里可以是任何一组数字,范围从 我希望批处理文件在01开始XX,在那里找到HH?????-01,它取行并将结果放入名为的输出文件中 开始时的代码可能不同,因此它还必须过滤 然后对文件夹中的每个csv文件重复此操作。 然

  • 问题内容: 我想创建一个csv文件,但是当我运行代码时,它返回一个空白页,没有csv文件。我使用PHP5。我使用以下代码: 谢谢! 问题答案: 其空白,因为您正在写信。您应该写到using 代替,还应该发送标头信息以表明它是csv。 例