SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
SLF4J: не удалось загрузить класс "org.slf4j.impl.StaticLoggerBinder"
Мое приложение должно быть развернуто как на tcServer, так и на WebSphere 6.1. Это приложение использует ehCache и поэтому требует slf4j в качестве зависимости. В результате я добавил slf4j-api.jar (1.6) jar в свой пакет файлов war.
Приложение отлично работает в tcServer, за исключением следующей ошибки:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Однако при развертывании в WebSphere я получаю java.lang.NoClassDefFoundError: org.slf4j.impl.StaticLoggerBinder.
Также сопровождается Failed to load class "org.slf4j.impl.StaticMDCBinder"
Я проверил пути к классам обоих серверов приложений, и другого jar-файла slf4j нет.
У кого-нибудь есть какие-либо идеи, что здесь может происходить?
Переведено автоматически
Ответ 1
У меня была такая же проблема с WebSphere 6.1. Как указал Чеки, было множество jar-файлов, которые использовала WebSphere, и один из них указывал на более старую версию slf4j.
Резервный вариант без операции выполняется только с slf4j 1.6+, поэтому все, что старше этого, вызовет исключение и остановит ваше развертывание.
На сайте SLf4J есть документация, которая решает эту проблему. Я последовал этому и добавил slf4j-simple-1.6.1.jar в свое приложение вместе с slf4j-api-1.6.1.jar которым у меня уже было.
Если вы используете Maven, добавьте следующие зависимости, при этом ${slf4j.version} это последняя версия slf4j
Довольно много ответов здесь рекомендуют добавить зависимость slf4j-simple в ваш POM-файл Maven. Возможно, вы захотите проверить наличие самой последней версии.
На https://mvnrepository.com/artifact/org.slf4j/slf4j-simple вы найдете последнюю версию простой привязки SLF4J. Выберите тот, который подходит вам лучше всего (по-прежнему 1.7.32 от 2021-07 является стабильной версией по состоянию на 2021-10) и включите его в свой pom.xml.
Для вашего удобства здесь показаны некоторые зависимости, но они могут быть не актуальными, когда вы читаете это!