Путь к классу содержит несколько привязок SLF4J, log4j-slf4j-impl-2.7.jar, slf4j-log4j12-1.7.21.jar - PullRequest
0 голосов
/ 22 апреля 2020

Я получаю следующую ошибку. Кажется, есть несколько каркасов, связанных с sl4j. Не уверен, как решить эту проблему. Любая помощь с благодарностью.

14:42:35,411 ERROR [stderr] (MSC service thread 1-3) SLF4J: Class path contains multiple SLF4J bindings.
14:42:35,412 ERROR [stderr] (MSC service thread 1-3) SLF4J: Found binding in [vfs:/content/offer-warehouse-processor-api.war/WEB-INF/lib/log4j-slf4j-impl-2.7.jar/org/slf4j/impl/StaticLoggerBinder.class]
14:42:35,412 ERROR [stderr] (MSC service thread 1-3) SLF4J: Found binding in [vfs:/content/offer-warehouse-processor-api.war/WEB-INF/lib/slf4j-log4j12-1.7.21.jar/org/slf4j/impl/StaticLoggerBinder.class]

1 Ответ

0 голосов
/ 24 апреля 2020

В сообщении говорится, что у вас есть и slf4j-log4j12-1.7.21.jar, и log4j-slf4j-impl-2.7.jar на вашем пути к классам. slf4j-log4j12 направляет все записи SLF4J в log4j 1.2. Log4j-sfl4j-impl направляет все записи в log4j 2. Вам нужно удалить тот, который вам не нужен. Например, если вы хотите использовать log4j 2, удалите slf4j-log4j12-1.7.21.jar из вашего проекта. Если вы не уверены, как он был включен, и вы используете Maven, запустите

mvn dependency:tree >mvn.txt

, а затем посмотрите в созданном файле mvn.txt и найдите, куда включается jar и какова его зависимость. находится под от вашего пом. xml. Затем добавьте исключение, например

<exclusions>
  <exclusion>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
  </exclusion>
</exclusions>

, в зависимость, которая его включает.

...