Я получаю следующую ошибку. Кажется, есть несколько каркасов, связанных с sl4j. Не уверен, как решить эту проблему. Любая помощь очень ценится.
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>
в зависимостях (из pom.xml), которые вызвали конфликт, помогли решить проблемуОтветы:
Решено путем добавления следующего исключения в зависимости (от pom.xml), которые вызвали конфликт.
источник
slf4j-log4j12
) применима для всех? или мы должны узнать версию из дерева зависимостей mvn: tree ?Версия Gradle;
источник
Ошибка, вероятно, дает больше информации, как это (хотя ваши имена банок могут отличаться)
Заметил, что конфликт происходит от двух банок, названных
logback-classic-1.2.3
иlog4j-slf4j-impl-2.8.2.jar
.Запустите
mvn dependency:tree
в этом проекте родительскую папку pom.xml, получив:Теперь выберите тот, который вы хотите игнорировать (может потребоваться деликатное усилие, мне нужно больше помощи в этом)
Я решил не использовать один импортируемый из
spring-boot-starter-data-jpa
(верхней зависимости) черезspring-boot-starter
и черезspring-boot-starter-logging
, П становится:в вышеупомянутом пом
spring-boot-starter-data-jpa
будет использоватьspring-boot-starter
настроенный в том же файле, который исключаетlogging
(он содержитlogback
)источник
mvn dependency:tree
. Это очень полезно ...Версия Sbt:
Добавить
exclude("org.slf4j", "slf4j-log4j12")
к зависимости, которая транзитивно включаетslf4j-log4j12
. Например, при использовании Spark с Log4j 2.6:источник
Я решил удалить это: spring-boot-starter-log4j2
источник
Я просто проигнорировал / удалил этот файл jar.
источник
Просто используйте только необходимые зависимости, а не все :))). Для меня, для нормальной работы процесса регистрации вам нужна эта зависимость исключить других из pom.xml
источник
Это проблема, потому что класс StaticLoggerBinder.class принадлежит двум разным jar-файлам. ссылки на этот класс из logback-classic-1.2.3.jar и того же класса также ссылаются на log4j-slf4j-impl-2.10.0.jar. обе банки в classpath. Следовательно, между ними существует конфликт. Это причина того, что файл журнала не генерируется, даже если файл log4j2.xml находится в classpath [src / main / resource].
Мы выбрали один из jar, я рекомендую использовать файл log4j-slf4j-impl-2.10.0.jar и исключить файл logback-classic-1.2.3.jar. Решение: откройте pom-файл и просмотрите иерархию зависимостей [eclipse] или выполните
команду mvn dependency: tree, чтобы найти дерево зависимостей и источник зависимости, которые загружают зависимость. найти конфликтующие зависимости и исключить их. Для приложения Springboot попробуйте это.
источник
... org.codehaus.mojo cobertura-maven-plugin 2.7 test ch.qos.logback logback-классические инструменты com.sun ...
## Я исправил это
... org.codehaus.mojo cobertura-maven-plugin 2.7 test ch.qos.logback logback-классические инструменты com.sun ...
источник
Для меня это оказалось проблемой Eclipse / Maven после переключения с log4j на logback. Загляните в свой
.classpath
файл и найдите строку"log4j"
.В моем случае у меня было следующее:
<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" />
Удаление этих записей из файла (или вы можете восстановить его) исправило проблему.
источник
Для меня ответом было заставить Maven восстановить. В Затмении:
источник
У меня такая же проблема. В моем pom.xml у меня были оба
Когда я удалил зависимость spring-boot-starter-web, проблема была решена.
источник
Сочетание
<scope>provided</scope>
и<exclusions>
не работает для меня.Я должен был использовать это:
Где
empty.jar
находится фляга, в которой буквально ничего нет?источник
Кажется удаление каталога .m2 и:
mvn install -DskipTests -T 4
решил эту проблему для меня.источник