122 votes

SLF4J: Impossible de charger la classe "org.slf4j.impl.StaticLoggerBinder". Erreur

  • Au sujet de l'IDE Eclipse (Indigo, Juno et Kepler (versions 32 et 64 bits))
  • Plates-Formes: Windows, Ubuntu, Mac
  • m2e version: 1.1.0.20120530-0009, 1.2.0.20120903-1050, 1.3.0.20130129-0926,
    1.4.0.20130601-0317

Infos générales

L'erreur ci-dessus est venu après la mise à jour de la m2e à la version 1.1. En supprimant m2e 1.1 et restauration m2e 1.0 tout a bien fonctionné. J'ai essayé de reproduire le problème dans Windows et Ubuntu et il m'a donné exactement la même erreur. De nombreuses configurations de la slf4j-api et logback ont été testés mais aucun ne semble fonctionner.

L'erreur apparaît dans tout projet maven , même sans déclaration de slf4j de dépendance.

  • Nouveau Projet Maven--> maven-archetype-quickstart

    et

  • Nouveau Projet Maven--> projet Simple, sans archétype de sélection

    résultat de

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".

Les tests environnements et configurations

Testé avec Eclipse Indigo et Eclipse Juno (32 et 64 bits à la fois) sur Mac, 32 bits sur Ubuntu et 64 et 32 bits sur Windows. Testé les nouvelles installations de Juno Classique, Juno outils de Modélisation, Kepler Standard, Kepler Outils de Modélisation et produit la même erreur.

L'erreur s'affiche à nettoyer, installer, tester, déployer, generate-sources, de valider , de compilation , de colis, de l'intégration-test, vérifier et les combinaisons de l'objectif propre avec le reste des objectifs. Il apparaît également avec les paramètres -e et -X. Il y avait une tentative de supprimer la m2e référentiel et de la télécharger à partir de zéro, mais là encore sans succès. Il devrait m'a mentionné qu'il a été testé sur 3 machines différentes et virtual box tous les systèmes ci-dessus, mais il produit le même message d'erreur.

Essayé tous les différents logback configurations (à partir de 1.0.4 à 1.0.13) qui permettent de résoudre les slf4j-api et logback-core dépendances, mais produisent tous le même message d'erreur:

<dependency>
   <groupId>ch.qos.logback</groupId>
   <artifactId>logback-classic</artifactId>
   <version></version>
</dependency>

Essayé tous différents (de 1.6.1 à 1.7.5 ) slf4j-simple configurations.

<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-simple</artifactId>
   <version></version>
   <scope>compile</scope>
</dependency>

Essayé tous différents (de 1.6.1 à 1.7.5 ) log4j-sur-slf4j configurations.

<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>log4j-over-slf4j</artifactId>
   <version></version>
   <scope>compile</scope>
</dependency>

Essayé tous différents (de 1.6.1 à 1.7.5 ) slf4j-jdk14 configurations.

<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-jdk14</artifactId>
   <version></version>
   <scope>compile</scope>
</dependency>

Essayé tous différents (de 1.6.1 à 1.7.5 ) slf4j-log4j12 configurations.

<dependency>
     <groupId>org.slf4j</groupId>
     <artifactId>slf4j-log4j12</artifactId>
     <version></version>
     <scope>compile</scope>
</dependency>

Essayé slf4j-nop 1.7.5 de configuration.

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-nop</artifactId>
  <version>1.7.5</version>
  <scope>compile</scope>
</dependency>

Le dernier mais pas le moins les journaux sont enregistrés et imprimés en dépit de l'erreur.


Des moyens de reproduire l'erreur

  • Téléchargement Eclipse Juno, de l'Indigo ou Kepler 32 ou 64 bits (Toutes les installations cause de la même erreur).

    • Installer m2e - Intégration de Maven pour Eclipse

      OU

    • Mise à jour de votre m2e version de 1.1.0.20120530-0009, ou 1.2.0.20120903-1050, ou 1.3.0.20130129-0926, ou 1.4.0.20130601-0317 )


    • Sélectionnez Fichier->Nouveau->Autres->Maven Project->Cliquez Sur Suivant->Sélectionnez
      maven-archetype-quickstart à partir du catalogue->Terminer

      OU

    • Sélectionnez Fichier->Nouveau->Autres->Maven Project->Cliquez sur Suivant->Sélectionnez Créer un projet simple (sauter archétype de sélection)-> Complet Artefact info-> Terminer

  • Clic droit sur le projet->s'Exécute en tant Qu'->clean install (ou tout autre objectif mentionné ci-dessus)

La première ligne sur la console

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.

P. S. les projets Existants produira le même message d'erreur après la mise à jour de la m2e version de 1.1.0.20120530-0009, 1.2.0.20120903-1050, 1.3.0.20130129-0926, 1.4.0.20130601-0317


Les mises à jour

MODIFIER

m2e site de support:

  • La question ci-dessus a été posté comme un bogue dans m2e site de support et la réponse de Igor Fedorenko était que

    Il n'y a pas de plans immédiats pour supprimer ce message.

    Pour l'affichage ci-dessus bogue, veuillez vous référer à m2e le soutien officiel du site


EDIT 2
  • L'erreur ci-dessus indication est présente également à m2e version 1.2.0.20120903-1050


EDIT 3
  • L'erreur ci-dessus indication est présente également à m2e version 1.3.0.20130129-0926


EDIT 4
  • L'erreur ci-dessus indication est présente également à m2e version 1.4.0.20130601-0317


EDIT 5
                              ***Reported FIXED***
  • L'erreur ci-dessus est rapporté que fixe pour m2e version 1.5.0/Luna M3(Objectif d'Étape). La version n'est pas encore disponible pour le téléchargement.
  • Luna M3 est prévu pour Nov. 15.
  • Dernière dev construire sont disponibles ici
  • Plus d'informations sur la m2e étapes que vous pouvez trouver à la m2e référentiel principal.

75voto

tverrbjelke Points 756

Je peux aussi confirmer cette erreur.

Solution de contournement: est à usage externe maven à l'intérieur de m2eclipse, à la place de celui-ci est intégré maven.

C'est fait en trois étapes:

1 Installer maven sur la machine locale (le test-machine Ubuntu 10.10)

mvn --version

Apache Maven 2.2.1 (rdebian-4) version de Java: 1.6.0_20 Java à la maison: /usr/lib/jvm/java-6-openjdk/jre paramètres régionaux par Défaut: de_DE, plate-forme encodage: UTF-8 nom du système d'exploitation: linux version: "2.6.35-32-generic" arch: "amd64" de la Famille: "unix"

2 Exécuter maven externe lien comment faire pour exécuter maven à partir de la console

> cd path-to-pom.xml
> mvn test
    [INFO] Scanning for projects...
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Simple
    [INFO]    task-segment: [test]
    [INFO] ------------------------------------------------------------------------
    [...]
    [INFO] Surefire report directory: [...]/workspace/Simple/target/surefire-reports

    -------------------------------------------------------
     T E S T S
    -------------------------------------------------------
    Running net.tverrbjelke.experiment.MainAppTest
    Hello World
    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.042 sec

    Results :

    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESSFUL
    [INFO] ------------------------------------------------------------------------
    [...]

3 à l'intérieur de m2eclipse: commutateur de incorporés maven local maven

  • trouver où maven local d'installation à domicile dir est (google pour votre MAVEN_HOME, pour moi cela m'a aidé c'est - /usr/share/maven2 )
  • dans eclipse Menu->Fenêtre->Préférences->Maven->Installation-> entrez une chaîne. Alors vous devriez avoir passé à votre nouveau externes maven.
  • puis exécutez votre Projet comme, par exemple, "maven".

Le message d'erreur devrait avoir disparu.

26voto

Il existe une documentation dans le site SLf4J pour résoudre ce problème. J'ai suivi cela et ajouté slf4j-simple-1.6.1.jar à mon application avec slf4j-api-1.6.1.jar que j'avais déjà.Cela a résolu mon problème.

slf4j

5voto

tomasb Points 508

A eu une erreur similaire avec le même résultat avec Gradle et a été capable de la résoudre en suivant:

 //compile 'org.slf4j:slf4j-api:1.7.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.1'
 

Ligne dépassée dans celle qui a provoqué la sortie d'erreur. Je crois que vous pouvez transférer ceci à Maven.

3voto

khan Points 1445

Vous n’avez pas spécifié de version dans votre fichier de dépendance maven, c’est peut-être pour cette raison qu’il ne sélectionne pas le dernier fichier jar
De plus, vous avez besoin d'une autre dépendance avec slf4j-log4j12 ID d'artefact.
Inclure ceci dans votre fichier pom

 <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.5.6</version>
</dependency>
 

Faites-moi savoir si l'erreur n'est toujours pas résolue
Je vous recommande également de voir ce lien

1voto

Prince Points 1

Avait été trop regarder la question après l'avoir fait surface. Croyez que ce sera une bonne lecture pour les autres qui viennent ici avec le même problème:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=387064

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X