【问题标题】:An API incompatibility was encountered and java.lang.ExceptionInInitializerError when using jmeter maven-analysis plugin使用 jmeter maven-analysis 插件时遇到 API 不兼容和 java.lang.ExceptionInInitializerError
【发布时间】:2016-02-04 10:55:35
【问题描述】:

我正在使用 jmeter-maven 插件和 jmeter-maven-analysis 插件运行我的仪表测试。测试已成功执行,但使用后一个插件的分析报告给了我以下错误。

[ERROR] Failed to execute goal com.lazerycode.jmeter:jmeter-analysis-maven-plugin:1.0.6:analyze (jmeter) on project Jmeter_Maven: Execution jmeter of goal com.lazerycode.jmeter:jmeter-analysis-maven-plugin:1.0.6:analyze failed: An API incompatibility was encountered while executing com.lazerycode.jmeter:jmeter-analysis-maven-plugin:1.0.6:analyze: java.lang.ExceptionInInitializerError: null
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>com.lazerycode.jmeter:jmeter-analysis-maven-plugin:1.0.6
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/home/bhanu_prakash/.m2/repository/com/lazerycode/jmeter/jmeter-analysis-maven-plugin/1.0.6/jmeter-analysis-maven-plugin-1.0.6.jar
[ERROR] urls[1] = file:/home/bhanu_prakash/.m2/repository/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar
[ERROR] urls[2] = file:/home/bhanu_prakash/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar
[ERROR] urls[3] = file:/home/bhanu_prakash/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar
[ERROR] urls[4] = file:/home/bhanu_prakash/.m2/repository/org/springframework/spring-core/3.2.3.RELEASE/spring-core-3.2.3.RELEASE.jar
[ERROR] urls[5] = file:/home/bhanu_prakash/.m2/repository/org/jfree/jfreechart/1.0.15/jfreechart-1.0.15.jar
[ERROR] urls[6] = file:/home/bhanu_prakash/.m2/repository/org/jfree/jcommon/1.0.17/jcommon-1.0.17.jar
[ERROR] urls[7] = file:/home/bhanu_prakash/.m2/repository/xml-apis/xml-apis/1.3.04/xml-apis-1.3.04.jar
[ERROR] urls[8] = file:/home/bhanu_prakash/.m2/repository/com/lowagie/itext/2.1.5/itext-2.1.5.jar
[ERROR] urls[9] = file:/home/bhanu_prakash/.m2/repository/bouncycastle/bcmail-jdk14/138/bcmail-jdk14-138.jar
[ERROR] urls[10] = file:/home/bhanu_prakash/.m2/repository/bouncycastle/bcprov-jdk14/138/bcprov-jdk14-138.jar
[ERROR] urls[11] = file:/home/bhanu_prakash/.m2/repository/com/googlecode/charts4j/charts4j/1.3/charts4j-1.3.jar
[ERROR] urls[12] = file:/home/bhanu_prakash/.m2/repository/org/freemarker/freemarker/2.3.20/freemarker-2.3.20.jar
[ERROR] urls[13] = file:/home/bhanu_prakash/.m2/repository/com/google/guava/guava/14.0.1/guava-14.0.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR] 
[ERROR] -----------------------------------------------------: User-specified log class 'org.apache.commons.logging.impl.LogKitLogger' cannot be found or is not useable.'

这是我的 pom.xml 文件:

 <?xml version="1.0" encoding="UTF-8"?>
  <project xmlns="http://Maven.apache.org/POM/4.0.0"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://Maven.apache.org/POM/4.0.0 http://Maven.apache.org/xsd/Maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.prakash.jmeter</groupId>
    <artifactId>Jmeter_Maven</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>




<build>
        <plugins>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-maven-plugin</artifactId>
                <version>1.4.1</version>
                <executions>
                    <execution>
                        <id>jmeter-tests</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>jmeter</goal>

                        </goals>
                        <configuration>
                            <testFilesDirectories>
                                <testFilesDirectory>Assignment_flows</testFilesDirectory>
                                <testFilesDirectory>try</testFilesDirectory>
                            </testFilesDirectories>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                   <dependency>
                     <groupId>org.apache.jmeter</groupId>
                      <artifactId>ApacheJMeter_report</artifactId>
                      <version>2.7</version>
                   </dependency>

                  <dependency>
                    <groupId>kg.apc</groupId>
                    <artifactId>jmeter-plugins-extras-libs</artifactId>
                    <version>1.1.3</version>
                  </dependency>

                  <dependency>
                    <groupId>kg.apc</groupId>
                    <artifactId>jmeter-plugins-standard</artifactId>
                    <version>1.1.3</version>
                  </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>com.lazerycode.jmeter</groupId>
                <artifactId>jmeter-analysis-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>jmeter</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>analyze</goal>

                        </goals>
                        <configuration>
                             <source>${project.build.directory}/target/jmeter/report/*.jtl</source>
                             <targetDirectory>${project.build.directory}/target/jmeter/report</targetDirectory>
                             <processAllFilesFound>true</processAllFilesFound>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>commons-logging</groupId>
                        <artifactId>commons-logging</artifactId>
                        <version>1.1.3</version>
                    </dependency>
                    <dependency>
                        <groupId>org.codehaus.plexus</groupId>
                        <artifactId>plexus-utils</artifactId>
                        <version>3.0.22</version>
                    </dependency>

                    <dependency>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                        <version>1.2.17</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
  </project>'

【问题讨论】:

  • 您使用的是旧版插件,请尝试使用 1.10.0 或 1.10.1
  • 谢谢,但是最近的插件对 jmeter 的 extras 插件有短暂的依赖问题,并且不能编译我的脚本。
  • 最新版本的 jmeter-maven-plugin 没有暂时的依赖问题。如果使用 maven 中的 JMeter 2.13 库的东西没有进行破解来解决这些问题(jmeter-maven-plugin 已放入此破解),则存在暂时的依赖性问题。 jmeter-plugins 遇到了这个问题,所以如果你尝试将 jmeter-plugins 与 jmeter-maven-plugin 一起使用,你会遇到问题。话虽如此,jmeter-maven-plugin 的 1.4.1 版本不支持添加额外的库,所以使用旧版本对您没有帮助。

标签: jmeter-plugins jmeter-maven-plugin


【解决方案1】:

1.4.1 版本基本上已经过时,最新版本是 2.8.3,它通过 jmeterExtensions 标签简化了使用 3rd 方插件的过程:

    <jmeterExtensions>
         <artifact>kg.apc:jmeter-plugins-casutg:2.6</artifact>
     </jmeterExtensions>

本博客详细介绍了使用jmeter-maven-plugin的最新2.8.3版本的整个过程:

由于插件现在生成Apache JMeter HTML report,你不再需要分析插件了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-10
    • 2021-10-27
    • 2017-03-23
    • 2022-01-06
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多