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

Spring Boot运行Karate测试时出现NoSuchMethodError的根因排查

运行Spring Boot+Karate测试时出现NoSuchMethodError的根本原因?

错误详情

执行测试时抛出以下错误:

java.lang.NoSuchMethodError: 'io.github.classgraph.ClassGraph io.github.classgraph.ClassGraph.acceptPaths(java.lang.String[])'

当前使用的Maven Karate依赖

<dependency>
    <groupId>com.intuit.karate</groupId>
    <artifactId>karate-core</artifactId>
    <version>1.4.1</version>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>com.intuit.karate</groupId>
    <artifactId>karate-junit5</artifactId>
    <version>1.4.1</version>
    <scope>test</scope>
</dependency>

组件测试代码实现

import com.intuit.karate.junit5.Karate;
import com.ril.rpos.auth.Application;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.springframework.boot.SpringApplication;
import org.springframework.context.ConfigurableApplicationContext;

public class ComponentTest {
    private static ConfigurableApplicationContext context;

    @BeforeAll
    public static void setUp() throws InterruptedException {
        //DB.INSTANCE.resetDB();
        context = SpringApplication.run(Application.class);
    }

    @Karate.Test
    Karate runTests() {
        return new Karate().path("classpath:features/api/sampletests.feature");
    }

    @AfterAll
    public static void tearDown() {
        if(context != null) {
            SpringApplication.exit(context, () -> 0);
            context.close();
        }
    }
}

前置依赖处理说明

此前启动Spring应用时曾遇到日志框架冲突错误,因此在Karate依赖中排除了Logback:

java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation

问题

请问导致上述NoSuchMethodError的根本原因是什么?

内容的提问来源于stack exchange,提问作者aman daharwal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 23:30:23