ClassNotFoundException: org.slf4j.LoggerFactory - PullRequest
41 голосов
/ 27 января 2012

Я пытаюсь запустить GWT RequestFactory и сталкиваюсь с этой ошибкой:

ClassNotFoundException: org.slf4j.LoggerFactory

Я пытался загрузить slf4j-api-1.3.1.jar , но это не помогло решить проблему

Есть идеи, какую именно банку мне нужно скачать?

Ответы [ 9 ]

70 голосов
/ 14 октября 2012

Лучше всегда загружать в качестве первой попытки самую последнюю версию с сайта разработчика

У меня было то же сообщение об ошибке, что и у вас, и при загрузке банки из вышеупомянутого (slf4j-1.7.2.tar.gz самая последняя версия от 2012OCT13), распаковка, распаковка, добавление 2 банок для построения пути в затмении (или добавление в classpath в строке команд):

  1. slf4j-api-1.7.2.jar
  2. slf4j-simple-1.7.2.jar

Мне удалось запустить мою программу.

14 голосов
/ 27 января 2012

Попробуйте скачать банку с здесь

Вы можете найти, он содержит класс, который вам нужен.

3 голосов
/ 26 января 2015

я знаю, что это старый вопрос, но я недавно столкнулся с этой проблемой, и я искал ее в Google, и я наткнулся на эту документацию здесь с сайта slf4j.

как описано ниже:

Эта ошибка сообщается, когда класс org.slf4j.impl.StaticLoggerBinder не может быть загружен в память. Это происходит, когда не удается найти соответствующую привязку SLF4J на пути к классам .

Размещение одного (и только одного) из slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar или logback-classic.jar впуть к классам должен решить проблему.

С 1.6.0 Начиная с версии 1.6 SLF4J, при отсутствии привязки, по умолчанию SLF4J не имеетРеализация регистратора операций (NOP).

Надеюсь, что это кому-нибудь поможет.

2 голосов
/ 23 января 2015

Для более подробного объяснения: имейте в виду, что «I» в «api» - это интерфейс.Jar-файл slf4j-api содержит только необходимые интерфейсы (фактически LoggerFactory является абстрактным классом).Вам также нужны фактические реализации (пример которых, как отмечено выше, можно найти в slf4j-simple).Если вы посмотрите в банку, вы найдете необходимые классы в пакете "org.slf4j. impl ".

1 голос
/ 13 февраля 2017

У меня тоже есть эта проблема, и я исправил ее таким образом. Я пытался запустить задание mapreduce локально через Eclipse, после установки конфигураций я встретил эту ошибку (в Linux, Virtual Box) Чтобы решить это,

  • щелкните правой кнопкой мыши по проекту, который вы хотите запустить,
  • go "Свойства" -> "Java Путь сборки "->" Добавить внешние банки ",
  • затем перейдите к file:/usr/lib/Hadoop/client-0.20, выберите три банки с именем начал от "slf4j".

Тогда вы сможете запускать задание локально. Надеюсь, мой опыт кому-то поможет.

1 голос
/ 19 марта 2013

Вам нужно будет скачать банки SLF4J с с официального сайта в виде zip (v1.7.4) или tar.gz (v1.7.4)

Загрузка содержит несколько банок в зависимости от того, как вы хотите использовать SLF4J.Если вы просто пытаетесь удовлетворить требования какой-либо другой библиотеки (я полагаю, GWT) и вам не очень важно правильно использовать SLF4J, то я бы, вероятно, выбрал slf4j-api-1.7.4.jar, поскольку Simple jarпредлагаемый другим ответом не содержит, насколько мне известно, конкретный класс, который вы ищете.

0 голосов
/ 25 июля 2018

Добавьте следующие JAR-файлы в путь сборки или папку lib проекта:

  1. slf4j-api-1.7.2.jar
  2. slf4j-jdk14-1.7.2.jar
0 голосов
/ 20 февраля 2014

У меня было то же самое на Android.Вот как я это исправил:

, включая ТОЛЬКО файл:

slf4j-api-1.7.6.jar

в моей папке libs /

Наличие любого дополнительного файла slf4j *, вызвавшего NoClassDefFoundError.

Очевидно, что остальные библиотеки могут быть там (android-support-v4 и т. Д.)

Версии: Eclipse Kepler 2013 06 14 -02 29 ADT 22.3 Android SDK: 4.4.2

Надеюсь, кто-то сэкономит время, которое я потратил благодаря этому!

0 голосов
/ 03 января 2013

Для решения проблемы требуется файл "slf4j-simple-1.7.2.jar".

Я скачал zip-файл "slf4j-1.7.2.zip" из http://slf4j.org/download.html. Я извлекZIP-файл, и я получил slf4j-simple-1.7.2.jar

...