SLF4J: le chemin de Classe contient de multiples liaisons SLF4J
J'obtiens l'erreur suivante. Il semble qu'il y a de multiples journalisation des cadres liés à sl4j. Vous ne savez pas comment résoudre ce problème. Toute aide est grandement appréciée.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/C:/Users/admin/.m2/repository/org/slf4j/slf4j-log4j12/1.6.4/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/admin/.m2/repository/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
- Résolu à l'Aide de
<exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions>
dans le avec des dépendances (de pom.xml) qui a provoqué des conflits aidé à résoudre le problème - dupliquer: stackoverflow.com/questions/8921382/...
- Avez-vous déjà visiter slf4j.org/codes.html#multiple_bindings comme indiqué dans l'avertissement?
- Peut-être Il pourrait être préférable d'ajouter une réponse (réponse automatique) à cette question et de le marquer comme "Accepté", de Sorte que la question apparaîtra comme "Résolu" dans le morceau
- Roberto, Merci pour le feedback. J'ai copié la solution dans le commentaire et affichée comme réponse.
- J'obtiens la même erreur, mais dans Pom.xml fichier nous n'avons pas slf4j de dépendance.
- Pour les futurs lecteurs, voici un bon article pour log4j2 (<<accent sur le "2" ici) logicbig.com/tutorials/spring-framework/spring-boot/log4j2.html la phrase clé de l'article est : "spring-boot-starter-log4j2 est un starter pour l'utilisation de Log4j2. C'est une alternative pour le printemps-amorçage-starter-exploitation forestière."
Vous devez vous connecter pour publier un commentaire.
Résolu par l'ajout de l'exclusion dans les dépendances (de pom.xml) qui a provoqué le conflit.
Gradle version;
L'erreur donne sans doute plus d'informations de ce type (bien que votre bocal noms pourraient être différents)
Remarqué que le conflit vient de deux pots, nommé
logback-classic-1.2.3
etlog4j-slf4j-impl-2.8.2.jar
.Exécuter
mvn dependency:tree
dans ce projet pom.xml dossier parent, donnant:Maintenant, choisissez celui que vous voulez ignorer (risque de consommer un délicat effort j'ai besoin de plus d'aide à ce sujet)
J'ai décidé de ne pas utiliser l'un importés de
spring-boot-starter-data-jpa
(le haut de la dépendance) à traversspring-boot-starter
et à traversspring-boot-starter-logging
, pom devient:au-dessus de pom
spring-boot-starter-data-jpa
serait d'utiliser laspring-boot-starter
configuré dans le même fichier, ce qui exclutlogging
(il contientlogback
)mvn dependency:tree
. C'est tellement utile...Sbt version:
Ajouter
exclude("org.slf4j", "slf4j-log4j12")
à la dépendance qui en transitivement comprendslf4j-log4j12
. Par exemple, lors de l'utilisation de Spark avec Log4j 2.6:J'ai résolu en supprimer ceci:printemps-amorçage-starter-log4j2
J'ai juste ignoré/supprimé ce fichier jar.
Il suffit d'utiliser seulement requis de dépendance, pas tous :))). Pour moi, pour le travail normal du processus d'enregistrement, vous avez besoin de cette dépendance en exclure d'autres pom.xml
...
org.codehaus.mojo
cobertura-maven-plugin
2.7
test
ch.la qualité de service.logback
logback-classique
outils
com.soleil
...
## J'ai corrigé avec cette
...
org.codehaus.mojo
cobertura-maven-plugin
2.7
test
ch.la qualité de service.logback
logback-classique
outils
com.soleil
...
Pour moi, il s'est avéré être une Eclipse/Maven question à la suite de l'interrupteur de log4j pour logback. Jetez un oeil dans votre
.classpath
fichier et recherchez la chaîne"log4j"
.Dans mon cas, j'ai eu la suite là:
<classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.7.1/slf4j-log4j12-1.7.1.jar"/>
<classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.17/log4j-1.2.17.jar" />
La suppression de ces entrées dans le fichier (ou vous pouvez régénérer) correction du problème.
Pour moi, la réponse était de forcer un Maven reconstruire. Dans Eclipse:
C'est à cause de StaticLoggerBinder.class classe appartient à deux différents pots. cette catégorie références de logback-classic-1.2.3.jar et de la même classe également référencé à partir de log4j-slf4j-impl-2.10.0.jar. les deux jar dans le classpath. Il y a donc conflit entre eux.
C'est une raison de fichier journal n'est pas la génération même si log4j2.xml fichier dans le classpath [src/main/ressource].
Nous avons donc sélectionner l'un de pot, je recommande d'utiliser log4j-slf4j-impl-2.10.0.jar fichier et exclure logback-classic-1.2.3.jar fichier.
Solution: ouvrez pom fichier et afficher la dépendance de la Hiérarchie [eclipse] ou exécuter
mvn dependency:tree commande à savoir la dépendance de l'arbre et la source de la dépendance que le téléchargement de la dépendance. trouvez le conflit de dépendance et de les exclure. Pour Springboot application de l'essayer.
Semble en retrait .m2 annuaire et :
mvn install -DskipTests -T 4
résolu ce problème pour moi.