Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 使用lazerycode jmeter插件运行.jmx命令行时出现NoClassDefFoundError_Maven_Jmeter_Performance Testing_Jmeter Plugins_Jmeter Maven Plugin - Fatal编程技术网

Maven 使用lazerycode jmeter插件运行.jmx命令行时出现NoClassDefFoundError

Maven 使用lazerycode jmeter插件运行.jmx命令行时出现NoClassDefFoundError,maven,jmeter,performance-testing,jmeter-plugins,jmeter-maven-plugin,Maven,Jmeter,Performance Testing,Jmeter Plugins,Jmeter Maven Plugin,我正在使用来执行jmeter测试 当我尝试从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 det

我正在使用来执行jmeter测试

当我尝试从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.
这是我正在使用的POM:

<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>
以下是jmeter日志文件中的完整日志:

2018-02-11 18:44:20835信息o.a.j.t.JMeterThread:螺纹加工: 螺纹组1-1 2018-02-11 18:44:20857错误o.a.j.JMeter:未钻孔 异常:java.lang.NoClassDefFoundError: com/jayway/jsonpath/internal/JsonReader位于 com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.jsonpathextractor.processJSONPathExtractor.java:102 ~[jmeter-plugins-extras-libs-1.3.1.jar:?]at org.apache.jmeter.threads.JMeterThread.runPostProcessorsJMeterThread.java:833 ~[ApacheJMeter_core-3.3.jar:3.3 r1808647]at org.apache.jmeter.threads.JMeterThread.executeSamplePackageJMeterThread.java:524 ~[ApacheJMeter_core-3.3.jar:3.3 r1808647]at org.apache.jmeter.threads.JMeterThread.processSamplerJMeterThread.java:424 ~[ApacheJMeter_core-3.3.jar:3.3 r1808647]at org.apache.jmeter.threads.JMeterThread.runJMeterThread.java:255 ~[ApacheJMeter_core-3.3.jar:3.3 r1808647]at java.lang.Thread.runThread.java:748[?:1.8.0_151]由以下原因引起: java.lang.ClassNotFoundException: com.jayway.jsonpath.internal.JsonReader位于 java.net.URLClassLoader.findClassURLClassLoader.java:381 约[?:1.8.0_151]at java.lang.ClassLoader.LoadClassLoader.java:424~[?:1.8.0_151] 位于java.lang.ClassLoader.LoadClassLoader.java:357 ~[?:1.8.0_151] ... 还有6个

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

建议使用最新版本的Maven插件和JMeter插件,因此我建议修改pom.xml,如下所示:

如果您仍然遇到问题,请使用-X键运行测试以启用完整调试输出并使用它更新问题,您可能还需要提供.jmx脚本 更多信息:

编辑: 谢谢德米特里,这真的很有帮助。在我的例子中,我不得不在pom.xml中添加额外的库来解决这个错误

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

我之所以编辑此答案,是因为更多时候,人们不会通过查看评论来获得答案。

感谢Dmitri提供的详细答案。我的问题是,它希望下载另一个库。我在pom中添加了com.jayway.jsonpath:json-path:2.2.0行,它开始正常工作。在我接受你的答案之前,我还有一个问题,如果我们使用lazerycode,我们如何运行单个测试?mvn verify似乎运行src文件夹中的所有测试。
mvn -U clean verify
<artifact>com.jayway.jsonpath:json-path:2.2.0</artifact>