首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Data会强制依赖SLF4j吗?

Spring Data会强制依赖SLF4j吗?
EN

Stack Overflow用户
提问于 2013-05-26 03:23:40
回答 3查看 2.5K关注 0票数 5

Spring文档明确提到spring只依赖于commons- docs。但是,如果我向Spring Data MongoDb添加一个依赖项,gradle就会添加一个对slf4j的依赖项。

代码语言:javascript
复制
org.springframework.data:spring-data-commons:1.5.1.RELEASE       
+--- org.springframework:spring-core:3.1.4.RELEASE (*)           
+--- org.springframework:spring-beans:3.1.4.RELEASE (*)          
+--- org.slf4j:slf4j-api:1.7.1                                   
\--- org.slf4j:jcl-over-slf4j:1.7.1

这是否意味着如果我使用spring数据,我将被迫使用SLF4j?

EN

回答 3

Stack Overflow用户

发布于 2013-05-26 21:41:12

是的,我们有一个对Java的编译时依赖性,因为它是Slf4j事实上的标准日志API,并且是所有可用选项中引起最少麻烦的选项之一: JUL -我最好不要在这个选项上留下任何话(如果您仍然需要被说服,请参阅this one ),Commons运行时提供者检测具有proven a PITA

我们还需要jcl-over-slf4j提供一个公共日志实现,以满足核心Spring框架的公共日志依赖,由于遗留原因,它必须维护这种依赖,但如果Slf4j在过去是可用的,那么它将拥有not been introduced in the first place

所以,是的。我们正在设置激励措施来做“正确的事情”(tm),阅读:“Java社区普遍同意的方式”。如果你真的想坚持Commons日志记录,只需添加slf4j-jcl桥就可以了。如果您想要删除jcl-over-slf4j桥,只需排除依赖项。

票数 3
EN

Stack Overflow用户

发布于 2014-07-23 01:57:39

您可以通过添加到pom.xml来禁用Spring Data中的SLF4J日志记录:

代码语言:javascript
复制
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>${spring-data-jpa.version}</version>
        <!-- Exclude slf4j logging in favor of log4j -->
        <exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>${commons-logging.version}</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
    </dependency>
票数 3
EN

Stack Overflow用户

发布于 2013-05-26 05:31:37

SLF4J只是一个日志外观,在spring情况下,它将使用jcl-over-slf4j依赖关系委托给commons日志。

如果你想让你的应用使用commons-logging,你可以简单地排除slf4j依赖。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16753117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档