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

Maven子POM如何排除父POM中test scope的依赖?

SLF4J绑定冲突的两种解决方案

方案1:子POM中排除父POM的slf4j-simple依赖

在子项目Foo的pom.xml里,通过依赖排除规则移除父POM中test scope的slf4j-simple,确保测试阶段只有logback-classic作为SLF4J实现:

<dependencies>
    <!-- 引入logback-classic作为SLF4J实现 -->
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>你的实际版本号</version>
    </dependency>

    <!-- 从slf4j-api的依赖中排除父POM引入的slf4j-simple -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>你的实际版本号</version>
        <exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

也可以直接针对父POM中单独声明的slf4j-simple进行排除:

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-simple</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

方案2:限制logback-classic不作用于test scope

调整子项目Foo中logback-classic的依赖范围,让它仅在主代码的编译、运行阶段生效,测试阶段继续使用父POM的slf4j-simple:

<dependencies>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>你的实际版本号</version>
        <!-- 仅在runtime阶段生效,test阶段不会引入该依赖 -->
        <scope>runtime</scope>
    </dependency>
</dependencies>

如果需要在主代码中直接调用logback的API,可将scope设为compile,同时排除其在test阶段的传递依赖:

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>你的实际版本号</version>
    <exclusions>
        <exclusion>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>

内容的提问来源于stack exchange,提问作者Garret Wilson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 12:50:25