web-dev-qa-db-fra.com

ClassNotFoundException: org.slf4j.LoggerFactory

J'essaie d'exécuter GWT RequestFactory et de faire face à cette erreur:

ClassNotFoundException: org.slf4j.LoggerFactory

J'ai essayé de télécharger slf4j-api-1.3.1.jar mais cela n'a pas résolu le problème 

Avez-vous une idée du bocal à télécharger?

36
junaidp

Essayez de télécharger jar de ici

Vous pouvez trouver, il contient la classe dont vous avez besoin.

13
gprathour

Mieux vaut toujours télécharger dès le premier essai la version la plus récente du site du développeur

J'ai eu le même message d'erreur que vous et en téléchargeant le fichier jar de ce qui précède (version la plus récente de slf4j-1.7.2.tar.gz à compter de 2012OCT13) classpath en ligne de commande):

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

J'ai pu exécuter mon programme.

64
CharlieL

Pour un peu plus d'explication: gardez à l'esprit que le "je" dans "api" est interface. Le fichier jar slf4j-api ne contient que les interfaces nécessaires (en réalité, LoggerFactory est une classe abstraite). Vous avez également besoin des implémentations réelles (dont un exemple, comme indiqué ci-dessus, peut être trouvé dans slf4j-simple). Si vous regardez dans le fichier jar, vous trouverez les classes requises dans le package "org.slf4j.impl ".

2
eze

J'ai aussi ce problème et je l'ai résolu de cette façon. J'essayais d'exécuter le travail mapreduce localement via Eclipse, après avoir défini les configurations, j'ai rencontré cette erreur (sous Linux, Virtual Box) Pour le résoudre, 

  • faites un clic droit sur le projet que vous voulez exécuter, 
  • allez dans "Propriétés" -> "JavaBuild Path" -> "Ajouter des fichiers JAR externes", 
  • puis allez dans file:/usr/lib/Hadoop/client-0.20, choisissez les trois jars nommés startedby "slf4j".

Vous pourrez alors exécuter le travail localement. J'espère que mon expérience aidera quelqu'un. 

1
Bofei Yu

Vous aurez besoin de télécharger les pots de SLF4J à partir de le site officiel sous la forme d'un fichier Zip (v1.7.4) ou tar.gz (v1.7.4) .

Le téléchargement contient plusieurs fichiers jar en fonction de la manière dont vous souhaitez utiliser SLF4J. Si vous essayez simplement de résoudre le besoin d'une autre bibliothèque (GWT, je suppose) et que vous ne vous souciez pas d'utiliser SLF4J correctement, je choisirais probablement le fichier slf4j-api-1.7.4.jar puisque le fichier jar Simple suggéré par une autre réponse ne contient pas, à ma connaissance, la classe spécifique que vous recherchez.

1
Patrick

Il faut "slf4j-simple-1.7.2.jar" pour résoudre le problème.

J'ai téléchargé un fichier Zip "slf4j-1.7.2.Zip" depuis http://slf4j.org/download.html . J'ai extrait le fichier Zip et j'ai obtenu slf4j-simple-1.7.2.jar

0
Ripon Al Wasim

J'ai eu la même chose sur Android. Voici comment je l'ai corrigé:

comprenant SEULEMENT le fichier:

slf4j-api-1.7.6.jar

dans mon dossier libs /

Avoir un fichier slf4j * supplémentaire, a causé la NoClassDefFoundError.

Évidemment, le reste des bibliothèques peut être là (Android-support-v4, etc.)

Versions: Eclipse Kepler 2013 06 14 - 02 29 ADT 22.3 SDK Android: 4.4.2

J'espère que quelqu'un gagne le temps que j'ai perdu grâce à cela!

0
voghDev

Ajoutez les fichiers JAR suivants au chemin de génération ou au dossier lib du projet:

  1. slf4j-api-1.7.2.jar
  2. slf4j-jkd14-1.7.2jar
0
Shanu Shine