Spring Boot - Gradle 排除未反射(reflect)在 Gradle 缓存中

标签 spring spring-boot gradle

我在这上面花了太多时间,我试图使用 log4j 而不是 spring boot 日志记录,不幸的是,每次我启动我的 sprint boot 应用程序时,我都会使用如下所示的 slf4j 绑定(bind)错误。

    SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/doddmani/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.1.11/ccedfbacef4a6515d2983e3f89ed753d5d4fb665/logback-classic-1.1.11.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/doddmani/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-slf4j-impl/2.8.2/36bc2a99b86be26ccdc51fe288458dc712d280c1/log4j-slf4j-impl-2.8.2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
2017-11-21 15:29:51.004  INFO 9692 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service Tomcat
2017-11-21 15:29:51.012  INFO 9692 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet Engine: Apache Tomcat/8.5.4
2017-11-21 15:29:51.319  INFO 9692 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/faps]   : Initializing Spring embedded WebApplicationContext

当我执行 gradle 依赖命令时,我确实看到 logback.jar 中有一个依赖项。我通过在我的 gradle 文件中添加排除项来修复它,如下所示。
configurations {
    all*.exclude module : 'logback-classic'
 }

有了这个修复,我在依赖列表中不再看到对 logback jar 的引用,但是每次我再次运行我的应用程序时,它仍然从 gradle 缓存中获取引用并继续说 SLF4J 绑定(bind)异常。任何人都可以帮助我解决这个问题。

最佳答案

我有类似的问题。我正在尝试将 log4j2 添加到我的 spring boot 应用程序中,这个配置修复了我

configurations.all {
    all*.exclude module: 'slf4j-log4j12'
    all*.exclude module : 'logback-classic'
}

关于Spring Boot - Gradle 排除未反射(reflect)在 Gradle 缓存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47423310/

相关文章:

gradle - 如何使用 Gradle 在依赖标记之外的变量上设置版本?

java - TestNG + Spring 测试 : EntityManager return null with testng

java - 在 JUnit 和 TestNG 等测试框架中,测试执行监听器的典型用例是什么?

java - 如何在Java Spring boot应用程序中实现TLS 1.3?

java - Spring Boot中的生产级别异常处理

android - 勺超时获取设备列表

android - APK 大小随着 appcompat-v7 :23. 4.0 急剧增加

java - 对象列表作为 Spring MVC 中的 RequestParam

java - 如何从 JdbcTemplate 在 MySQL 中创建用户?

java - @Bean 初始化 - 参数注入(inject)与直接方法访问之间的区别?