47 votes

Eclipse - Échec du chargement de la classe "org.slf4j.impl.StaticLoggerBinder"

Duplicata possible :
SLF4J : Erreur de chargement de la classe org.slf4j.impl.StaticLoggerBinder

J'utilise éclipse juno pour exécuter le code Java de quelqu'un d'autre en utilisant cornemuseur (plugin m2eclipse). Mais je reçois le message suivant :

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.

Sur le site site officiel J'ai trouvé la solution suivante pour résoudre ce problème :

This error is reported when the org.slf4j.impl.StaticLoggerBinder class could not be loaded into memory. 
This happens when no appropriate SLF4J binding could be found on the class path. 
Placing one (and only one) of slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem.

J'ai donc copié slf4j-simple.jar dans " C:\Program Dossiers \Java\jdk1.7.0_07\lib " . Mais je reçois toujours une erreur.

Veuillez m'indiquer quelle est la bonne solution. Je suis un débutant en Java.

Par ailleurs, quelqu'un pourrait-il nous indiquer quelle devrait être la valeur exacte de JAVA_HOME , CLASSPATH y CLASS variables. Je ne sais pas s'il faut utiliser le chemin de jre o jdk ou autre ?

UPDATE :

Dépendance à l'égard de slf4j sont présentes dans le projet pom.xml .

<dependency>
           <groupId>org.slf4j</groupId>
           <artifactId>slf4j-api</artifactId>
           <version>1.5.6</version>
           <type>jar</type>
</dependency>
<dependency>
           <groupId>org.slf4j</groupId>
           <artifactId>slf4j-simple</artifactId>
           <version>1.5.6</version>
</dependency>

J'ai mis à jour mon projet. De plus, le slf4j-api-1.5.6.jar y slf4j-simple-1.5.6.jar apparaissent dans les "dépendances Maven" dans mon projet. Et org.slf4j.impl.StaticLoggerBinder.class est également présent dans slf4j-simple-1.5.6.jar

38voto

Eclipse Juno, Indigo et Kepler, lorsqu'ils utilisent la version maven (m2e), ne suppriment pas le message SLF4J : Failed to load class "org.slf4j.impl.StaticLoggerBinder". Ce comportement est présent à partir de la version m2e 1.1.0.20120530-0009.

Bien que cela soit indiqué comme une erreur, vos journaux seront sauvegardés normalement. L'erreur mise en évidence sera toujours présente jusqu'à ce que ce bogue soit corrigé. Plus d'informations à ce sujet dans la section m2e site de soutien .

La solution actuelle consiste à utiliser une version externe de maven plutôt que la version d'Eclipse fournie avec le logiciel. Vous pouvez trouver cette solution et plus de détails concernant ce bogue dans la question ci-dessous qui, je pense, décrit le même problème que vous rencontrez.

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

12voto

Alexander Pavlov Points 16338

Avez-vous mis à jour le projet (clic droit sur le projet, "Maven" > "Update project...") ? Sinon, vous devez vérifier si pom.xml contient les dépendances nécessaires à slf4j, par exemple :

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>1.7.0</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.0</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.0</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.14</version>
    </dependency>

2voto

Ravi Points 21

Après avoir placé le fichier jar à l'endroit désiré, vous devez ajouter le fichier jar par clic droit sur

Projet --> propriétés --> Java Build Path --> Libraries --> Add Jar.

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