You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JMeter Maven插件2.7.0时遇Slf4jLogkitLogger覆盖final方法错误

解决JMeter Maven插件执行时Slf4jLogkitLogger覆盖final方法的错误

你在使用Ultimate Thread Group的JMeter测试计划中,通过jmeter-maven-plugin:2.7.0执行测试时遇到了日志组件冲突错误,导致Maven构建失败。具体错误信息如下:

[INFO] An error occurred: class org.apache.jorphan.logging.Slf4jLogkitLogger overrides final method log.(Lorg/apache/log/Priority;Ljava/lang/String;Ljava/lang/Throwable;)V
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.556 s
[INFO] Finished at: 2018-05-17T15:15:12-04:00
[INFO] Final Memory: 18M/437M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.lazerycode.jmeter:jmeter-maven-plugin:2.7.0:jmeter (test) on project chilapis: Test failed with exit code:1 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.lazerycode.jmeter:jmeter-maven-plugin:2.7.0:jmeter (test) on project chilapis: Test failed with exit code:1
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Test failed with exit code:1
    at com.lazerycode.jmeter.testrunner.TestManager.executeSingleTest(TestManager.java:179)
    at com.lazerycode.jmeter.testrunner.TestManager.executeTests(TestManager.java:115)
    at com.lazerycode.jmeter.mojo.RunJMeterMojo.doExecute(RunJMeterMojo.java:61)
    at com.lazerycode.jmeter.mojo.AbstractJMeterMojo.execute(AbstractJMeterMojo.java:233)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
    ... 20 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[INFO] Shutdown detected, destroying JMeter process...

你的POM文件片段如下(注意内容不完整,需确保XML标签闭合):

<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.honeywell.jmeter</groupId>
    <artifactId>chilapis</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <!-- Default Properties for Project -->
    <properties>
        <jmeter.analysis.maven.plugin.version>1.0.6</jmeter.analysis.maven.plugin.version>
        <jmeter-maven-plugin.version>2.7.0</jmeter-maven-plugin.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>properties-maven-plugin</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-math3</artifactId>
            <version>3.4.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>2.3</version>
        </dependency>

问题分析

这个错误的核心原因是日志组件依赖冲突:org.apache.jorphan.logging.Slf4jLogkitLogger试图覆盖父类的log final方法,通常是因为项目中引入了多个版本的Logkit/SLF4J相关依赖,或者JMeter插件与Maven插件的版本不兼容导致的。

解决方案

1. 升级JMeter Maven插件版本

jmeter-maven-plugin:2.7.0是2017年的旧版本,存在不少依赖兼容问题。建议升级到较新的稳定版本(比如3.5.0或更高),新版本已经修复了这类冲突问题。修改POM中的版本属性:

<properties>
    <jmeter-maven-plugin.version>3.5.0</jmeter-maven-plugin.version>
</properties>

2. 排查并排除冲突依赖

如果升级插件后问题依旧,需要先查看项目的依赖树,定位冲突的日志组件:

mvn dependency:tree -Dincludes=org.apache.log,org.slf4j

然后在JMeter Maven插件的配置中排除冲突的依赖,示例如下:

<plugin>
    <groupId>com.lazerycode.jmeter</groupId>
    <artifactId>jmeter-maven-plugin</artifactId>
    <version>${jmeter-maven-plugin.version}</version>
    <dependencies>
        <dependency>
            <groupId>org.apache.jmeter</groupId>
            <artifactId>jmeter-core</artifactId>
            <version>5.5</version> <!-- 请匹配你实际使用的JMeter版本 -->
            <exclusions>
                <exclusion>
                    <groupId>org.apache.log</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
</plugin>

3. 确保Ultimate Thread Group与JMeter版本兼容

Ultimate Thread Group是第三方JMeter插件,需要确保它的版本和你使用的JMeter核心版本完全匹配。如果你的JMeter版本较旧,建议同步升级JMeter核心依赖和该插件的版本。

4. 修复POM文件语法问题

你提供的POM片段不完整,存在未闭合的标签,这也可能导致构建异常。请检查并补全所有未闭合的<dependency>和<dependencies>标签。


内容的提问来源于stack exchange,提问作者prasant sutaria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:31:10