Recibo el siguiente error. Parece que hay múltiples marcos de registro vinculados a sl4j. No estoy seguro de cómo resolver esto. Cualquier ayuda es muy apreciada.
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>
en las dependencias (de pom.xml) que causó el conflicto ayudó a resolver el problemaRespuestas:
Se resolvió agregando la siguiente exclusión en las dependencias (de pom.xml) que causaron conflictos.
fuente
slf4j-log4j12
) aplicable para todos? ¿o deberíamos averiguar la versión de mvn dependency: tree ?Versión Gradle;
fuente
El error probablemente brinda más información como esta (aunque los nombres de sus jar pueden ser diferentes)
Noté que el conflicto proviene de dos frascos, llamados
logback-classic-1.2.3
ylog4j-slf4j-impl-2.8.2.jar
.Ejecutar
mvn dependency:tree
en este proyecto la carpeta padre pom.xml, dando:Ahora elija el que desea ignorar (podría consumir un esfuerzo delicado. Necesito más ayuda en esto)
Decidí no usar el importado de
spring-boot-starter-data-jpa
(la dependencia principal) de principiospring-boot-starter
a finspring-boot-starter-logging
, pom se convierte en:en pom anterior
spring-boot-starter-data-jpa
usaría elspring-boot-starter
configurado en el mismo archivo, que excluyelogging
(contienelogback
)fuente
mvn dependency:tree
. Es muy útil ...Versión de Sbt:
Anexar
exclude("org.slf4j", "slf4j-log4j12")
a la dependencia que incluye transitivamenteslf4j-log4j12
. Por ejemplo, al usar Spark con Log4j 2.6:fuente
Resolví eliminar esto: spring-boot-starter-log4j2
fuente
Simplemente ignoré / eliminé ese archivo jar.
fuente
Solo use la dependencia requerida, no todas :))). Para mí, para el trabajo normal del proceso de registro, necesita esta dependencia excluir a otros de pom.xml
fuente
Esto es un problema debido a que la clase StaticLoggerBinder.class pertenece a dos jarras diferentes. esta clase hace referencia a logback-classic-1.2.3.jar y la misma clase también hace referencia a log4j-slf4j-impl-2.10.0.jar. Ambos de jar en classpath. Por lo tanto, hay conflicto entre ellos. Esta es la razón por la cual el archivo de registro no se genera aunque el archivo log4j2.xml en classpath [src / main / resource].
Tenemos que seleccionar uno de jar, recomiendo usar el archivo log4j-slf4j-impl-2.10.0.jar y excluir el archivo logback-classic-1.2.3.jar. Solución: abra el archivo pom y vea la Jerarquía de dependencias [eclipse] o ejecute el
comando mvn dependency: tree para averiguar el árbol de dependencias y la fuente de dependencia que descarga la dependencia. encuentre la dependencia conflictiva y excluyalas. Para la aplicación Springboot intente esto.
fuente
... org.codehaus.mojo cobertura-maven-plugin 2.7 prueba ch.qos.logback logback-classic tools com.sun ...
## Lo arreglé con esto
... org.codehaus.mojo cobertura-maven-plugin 2.7 prueba ch.qos.logback logback-classic tools com.sun ...
fuente
Para mí, resultó ser un problema de Eclipse / Maven después de cambiar de log4j a logback. Eche un vistazo a su
.classpath
archivo y busque la cadena"log4j"
.En mi caso tuve lo siguiente allí:
<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" />
Eliminar esas entradas del archivo (o podría regenerarlo) solucionó el problema.
fuente
Para mí, la respuesta fue forzar una reconstrucción de Maven. En Eclipse:
fuente
Yo tuve el mismo problema. En mi pom.xml tuve ambos
Cuando eliminé la dependencia de spring-boot-starter-web, se resolvió el problema.
fuente
La combinación de
<scope>provided</scope>
y<exclusions>
no funcionó para mí.Tuve que usar esto:
¿Dónde
empty.jar
está un archivo jar con literalmente nada en él?fuente
Parece eliminar el directorio .m2 y:
mvn install -DskipTests -T 4
resolvió este problema por mí.fuente