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

使用lazerycode jmeter插件运行。jmx命令行时的NoClassDefFoundError

孙嘉悦
2023-03-14

当我试图从UI运行我的jmx文件时,它运行得非常好。

但是,当我尝试使用mvn时,

mvn clean install or mvn verify

它开始执行,但在我使用JSON提取器从响应中提取一些值时失败了。下面是我得到的错误,

[INFO] Uncaught Exception java.lang.NoClassDefFoundError: com/jayway/jsonpath/internal/JsonReader. See log file for details.
<build>
        <plugins>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>2.6.0</version>
                <configuration>
                    <testResultsTimestamp>false</testResultsTimestamp>
                    <propertiesUser>
                        <!-- Some user properties here -->
                    </propertiesUser>

                    <jmeterExtensions>
                        <artifact>kg.apc:jmeter-plugins-manager:0.19</artifact>
                        <artifact>Kg.apc:jmeter-plugins-extras-libs:1.3.1</artifact>
                        <artifact>kg.apc:jmeter-plugins-json:jar:2.3</artifact>
                    </jmeterExtensions>
                    <!-- The plugin uses some broken dependencies
                         An alternative is to set this to true and use excludedArtifacts, see below
                    -->
                    <downloadExtensionDependencies>false</downloadExtensionDependencies>

                </configuration>
                <executions>
                    <execution>
                        <id>jmeter-tests</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jmeter</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>kg.apc</groupId>
                        <artifactId>jmeter-plugins-extras-libs</artifactId>
                        <version>1.3.1</version>
                    </dependency>

                </dependencies>
            </plugin>
        </plugins>
    </build>

正如本文所述,我在pom.xml中添加了多个库,但是问题没有得到解决。

共有1个答案

吴镜
2023-03-14

>

  • 建议使用最新版本的JMeter及其Maven插件和JMeter插件,因此我建议修改您的pom.xml,例如:

    <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.example</groupId>
        <artifactId>mvn-jmeter</artifactId>
        <version>1.0-SNAPSHOT</version>
        <name>maven-jmeter-demo</name>
        <url>http://maven.apache.org</url>
        <build>
            <plugins>
                <plugin>
                    <groupId>com.lazerycode.jmeter</groupId>
                    <artifactId>jmeter-maven-plugin</artifactId>
                    <version>2.7.0</version>
                    <executions>
                        <execution>
                            <id>jmeter-tests</id>
                            <phase>verify</phase>
                            <goals>
                                <goal>jmeter</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <jmeterExtensions>
                            <artifact>kg.apc:jmeter-plugins-json:jar:2.6</artifact>
                            <artifact>kg.apc:jmeter-plugins-manager:0.19</artifact>
                            <artifact>kg.apc:jmeter-plugins-extras-libs:1.4.0</artifact>
                        </jmeterExtensions>
                        <downloadExtensionDependencies>false</downloadExtensionDependencies>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>
    

    这可能是Maven缓存的一个问题,所以我建议至少使用-u键运行它一次,如下所示:

    mvn -U clean verify
    

    更多信息:

      null
    <artifact>com.jayway.jsonpath:json-path:2.2.0</artifact>
    

  •  类似资料:
    • 我想在詹金斯中强制执行以下场景: 我有工作A和工作B 我想在执行作业B时禁用作业A,在执行作业B后,我想再次启用作业A。 为了启用/禁用作业A,我使用了Groovy插件:Groovy插件 Groovy插件提供了两种可能性:执行Groovy脚本和执行系统Groovy脚本。 在开始执行作业B时,我添加了以下代码片段: 执行工作B后: 当我运行作业B时,它失败了,出现以下异常: 当我运行作业B时,它失败

    • GUI和非GUI JMX文件之间有什么区别 为什么我会犯这些错误 我能用Jmeter GUI创建的JMX文件在命令行Jmeter上使用吗 我在我的windows设备上试用了jmeter,效果很好!!现在我想在一些没有GUI的远程服务器(LINUX)上运行它,我尝试使用命令行jmeter 命令: 以下内容摘自

    • 是否可以使用命令行中的JMX在linux(CentOS)上运行的进程上获取服务器堆转储? 无法打开VisualVM,无法安装jmap

    • 我有多个Junit测试套件(SlowTestSuite、FastTestSuite等)。我只想使用maven命令运行特定的套件。例如 但它不起作用。只是根本不运行任何测试。有什么建议吗。

    • 我使用Java Jersey框架(与Maven一起使用),并使用IntelliJ作为IDE。我遇到过这个运行时异常,它只发生在尝试从命令行运行代码时(使用maven编译,然后使用Java-JAR),但在IntelliJ中运行时不会发生,这很奇怪。 我有一些Java代码,它将尝试使HTTP访问某个远程URL,并尝试将返回的JSON读入某个Lombok POJO: 正如我之前提到的,奇怪的是,只有当我