J'obtiens l'erreur suivante. Il semble qu'il existe plusieurs cadres de journalisation liés à sl4j. Je ne sais 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.
<exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> </exclusions>
dans les dépendances (de pom.xml) qui a provoqué un conflit a aidé à résoudre le problèmeRéponses:
Résolu en ajoutant l'exclusion suivante dans les dépendances (de pom.xml) à l'origine du conflit.
la source
slf4j-log4j12
) est-elle applicable à tous? ou devrions-nous trouver la version de la dépendance mvn: arbre ?Version Gradle;
la source
L'erreur donne probablement plus d'informations comme celle-ci (bien que les noms de vos pots puissent être différents)
Remarqué que le conflit vient de deux pots, nommés
logback-classic-1.2.3
etlog4j-slf4j-impl-2.8.2.jar
.Exécutez
mvn dependency:tree
dans ce dossier parent pom.xml du projet, en donnant:Maintenant, choisissez celui que vous voulez ignorer (pourrait consommer un effort délicat, j'ai besoin de plus d'aide à ce sujet)
J'ai décidé de ne pas utiliser celui importé de
spring-boot-starter-data-jpa
(la dépendance en haut) à traversspring-boot-starter
et à traversspring-boot-starter-logging
, pom devient:dans le pom ci-dessus
spring-boot-starter-data-jpa
utiliserait lespring-boot-starter
configuré dans le même fichier, ce qui exclutlogging
(il contientlogback
)la source
mvn dependency:tree
. C'est tellement utile ...Version Sbt:
Ajoutez
exclude("org.slf4j", "slf4j-log4j12")
à la dépendance qui comprend de manière transitoireslf4j-log4j12
. Par exemple, lorsque vous utilisez Spark avec Log4j 2.6:la source
J'ai résolu en supprimant ceci: spring-boot-starter-log4j2
la source
J'ai juste ignoré / supprimé ce fichier jar.
la source
Utilisez uniquement les dépendances requises, pas toutes :))). Pour moi, pour le travail normal du processus de journalisation, vous avez besoin de cette dépendance exclure les autres de pom.xml
la source
Ce problème est dû au fait que la classe StaticLoggerBinder.class appartient à deux fichiers JAR différents. cette classe fait référence à logback-classic-1.2.3.jar et la même classe également référencée à partir de log4j-slf4j-impl-2.10.0.jar. les deux pots dans classpath. Il y a donc conflit entre eux. C'est la raison pour laquelle le fichier journal n'est pas généré même si le fichier log4j2.xml se trouve dans le chemin de classe [src / main / resource].
Nous avons donc sélectionné l'un des fichiers jar, je recommande d'utiliser le fichier log4j-slf4j-impl-2.10.0.jar et d'exclure le fichier logback-classic-1.2.3.jar. Solution: ouvrez le fichier pom et affichez la hiérarchie des dépendances [éclipse] ou exécutez la commande
mvn dependency: tree pour découvrir l'arborescence des dépendances et la source de dépendance qui téléchargent la dépendance. trouver la dépendance conflictuelle et les exclure. Pour l'application Springboot, essayez ceci.
la source
... org.codehaus.mojo cobertura-maven-plugin 2.7 test ch.qos.logback logback-classic tools com.sun ...
## J'ai corrigé ce problème
... org.codehaus.mojo cobertura-maven-plugin 2.7 test ch.qos.logback logback-classic tools com.sun ...
la source
Pour moi, cela s'est avéré être un problème Eclipse / Maven après le passage de log4j à logback. Jetez un œil à votre
.classpath
fichier et recherchez la chaîne"log4j"
.Dans mon cas, j'avais là-bas:
<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 du fichier (ou vous pouvez le régénérer) a résolu le problème.
la source
Pour moi, la réponse a été de forcer une reconstruction Maven. Dans Eclipse:
la source
J'ai eu le même problème. Dans mon pom.xml, j'avais les deux
Lorsque j'ai supprimé la dépendance Web Spring-Boot-Starter-Web, le problème a été résolu.
la source
La combinaison de
<scope>provided</scope>
et<exclusions>
n'a pas fonctionné pour moi.Je devais utiliser ceci:
Où
empty.jar
est un fichier jar avec littéralement rien dedans.la source
Semble supprimer le répertoire .m2 et:
mvn install -DskipTests -T 4
résolu ce problème pour moi.la source