2017-09-11 2 views
0

déborde J'utilise:Hors ch.qos.logback

compile (libs.spring_boot_starter_logging) 
testCompile 'org.apache.qpid:qpid-broker:0.28' 

Les deux d'entre eux ont une reliure SLF4J, j'ai donc erreur:

SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/C:/Users/maciej.glowala.ext/.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/maciej.glowala.ext/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-log4j12/1.6.4/6b4973e0320e220ec6534478d60233fd1cc51c9b/slf4j-log4j12-1.6.4.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] 

Je peux exclure la version 1.6.4 de qpid-broker mais il fait une erreur car broker ne peut pas trouver une méthode qui est incluse dans une version plus récente. Quand je veux exclure la version 1.1.11

compile (libs.spring_boot_starter_logging){ 
      exclude group: 'ch.qos.logback', module: 'logback-classic' 
     } 

J'ai une erreur de débordement

java.lang.StackOverflowError 
    at org.apache.log4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:39) 
    at org.apache.log4j.LogManager.getLogger(LogManager.java:45) 
    at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:64) 
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358) 
    at org.apache.log4j.Category.<init>(Category.java:57) 
    at org.apache.log4j.Logger.<init>(Logger.java:37) 
    at org.apache.log4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:43) 
    at org.apache.log4j.LogManager.getLogger(LogManager.java:45) 
    at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:64) 
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358) 
    at org.apache.log4j.Category.<init>(Category.java:57) 
    at org.apache.log4j.Logger.<init>(Logger.java:37) 
    . 
    . 
    . 

Qui plus est, je ne devrais pas exclure de compile lorsque SLF4J liaison est inclus dans testCompile donc je voulait exclure pour les tests uniquement en utilisant

configurations { 
    testCompile.exclude group:'ch.qos.logback' 
} 

Mais de toute façon j'ai toujours la même erreur de débordement. Tout le monde peut m'aider comment configurer build.gradle pour utiliser une version plus récente pour les tests?

Répondre

0

Si quelqu'un aura besoin dans l'avenir, a résolu le problème en plus d'exclure:

testCompile.exclude group:'org.slf4j', module:'log4j-over-slf4j'