- Concernant Eclipse IDE ( Indigo , Juno et Kepler (versions 32 et 64 bits))
- Plateformes : Windows , Ubuntu , Mac
- Version m2e : 1.1.0.20120530-0009 , 1.2.0.20120903-1050 , 1.3.0.20130129-0926 ,
1.4.0.20130601-0317
Informations générales
L'erreur ci-dessus est survenue après la mise à jour du m2e vers la version 1.1. En supprimant m2e 1.1 et en revenant à m2e 1.0, tout a bien fonctionné. J'ai essayé de répéter le problème sous Windows et Ubuntu et cela m'a donné exactement la même erreur. De nombreuses configurations de slf4j-api et de logback ont été testées mais aucune ne semble fonctionner.
L'erreur apparaît dans n'importe quel projet maven même sans déclarer la dépendance slf4j .
Nouveau projet Maven -> maven-archetype-quickstart
et
Nouveau projet Maven -> Projet simple sans sélection d'archétype
résultat à
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
Environnements et configurations de test
Testé avec Eclipse Indigo et Eclipse Juno (32 et 64 bits tous les deux) sur Mac, 32 bits sur Ubuntu et 64 et 32 bits sur Windows. Testé de nouvelles installations de Juno Classic , des outils de modélisation Juno , de Kepler Standard , des outils de modélisation Kepler et produit la même erreur.
L'erreur apparaît avec nettoyer , installer , tester , déployer , générer des sources , valider , compiler , empaqueter , tester l'intégration , vérifier et des combinaisons de l'objectif nettoyer avec les autres objectifs. Il apparaît également avec les paramètres -e et -X . Il y a eu une tentative de supprimer le référentiel m2e et de le télécharger à partir de zéro, mais encore une fois sans succès. Il convient de mentionner qu'il a été testé sur 3 machines différentes et sur une boîte virtuelle tous les systèmes ci-dessus, mais qu'il a produit la même erreur.
J'ai essayé toutes les différentes configurations de connexion (de 1.0.4 à 1.0.13) qui résolvent les dépendances slf4j-api et logback-core , mais produisent toutes la même erreur:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version></version>
</dependency>
J'ai essayé toutes les configurations slf4j-simples (de 1.6.1 à 1.7.5) .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
J'ai essayé toutes les configurations log4j-over-slf4j différentes (de 1.6.1 à 1.7.5) .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
J'ai essayé toutes les configurations slf4j-jdk14 différentes (de 1.6.1 à 1.7.5) .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
J'ai essayé toutes les configurations slf4j-log4j12 différentes (de 1.6.1 à 1.7.5) .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Essayé slf4j-nop 1.7.5 configuration.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.7.5</version>
<scope>compile</scope>
</dependency>
Enfin, les journaux sont enregistrés et imprimés malgré l'erreur.
Façons de reproduire l'erreur
Téléchargez Eclipse Juno, Indigo ou Kepler 32 ou 64 bits (toutes les installations provoqueront la même erreur).
Installer m2e - Intégration Maven pour Eclipse
- Juno - http://download.eclipse.org/releases/juno
- Kepler - http://download.eclipse.org/releases/kepler
- Indigo - http://download.eclipse.org/technology/m2e/releases/ ( actuellement indisponible )
OU
Mettez à jour votre version m2e vers 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->
Autre-> Projet Maven-> Cliquez sur Suivant-> Sélectionnez maven-archetype-quickstart dans le catalogue-> TerminerOU
Sélectionnez Fichier-> Nouveau-> Autre-> Projet Maven-> Cliquez sur Suivant-> Sélectionnez Créer un projet simple (ignorer la sélection d'archétype) -> Compléter les informations sur l'artefact-> Terminer
- Faites un clic droit sur le projet-> Exécute en tant que-> installation propre (ou tout autre objectif mentionné ci-dessus)
La première ligne de la console sera
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.
PS Les projets existants produiront la même erreur après la mise à jour de la version m2e vers 1.1.0.20120530-0009 , 1.2.0.20120903-1050 , 1.3.0.20130129-0926 , 1.4.0.20130601-0317
Mises à jour
ÉDITER
Site d'assistance m2e:
La question ci-dessus a été publiée en tant que bogue sur le site de support m2e et la réponse d'Igor Fedorenko était que
Il n'y a pas de plans immédiats pour supprimer ce message.
Pour visualiser le bogue ci-dessus, veuillez consulter le site d'assistance officiel de m2e
MODIFIER 2
- L'indication d'erreur ci - dessus est présente également M2e la version 1.2.0.20120903-1050
MODIFIER 3
- L'indication d'erreur ci - dessus est présente également M2e la version 1.3.0.20130129-0926
MODIFIER 4
- L'indication d'erreur ci - dessus est présente également M2e la version 1.4.0.20130601-0317
MODIFIER 5
***Reported FIXED***
- L'erreur ci-dessus est signalée comme corrigée pour m2e version 1.5.0 / Luna M3 ( étape cible ). La version n'est pas encore disponible au téléchargement.
- La Luna M3 est prévue pour le 15 novembre .
- La dernière version de développement est disponible ici
- Vous trouverez plus d'informations sur les jalons m2e dans le référentiel principal m2e .
slf4j
dans les deuxslf4j-api-1.7.7
etjcl-over-slf4j-1.7.7
et si j'essaie de supprimer l'un d'entre eux, j'obtiens un message d'erreur indiquant que leurLogger
classe est manquante. Que devrais-je faire?Réponses:
Je peux également confirmer cette erreur.
Solution de contournement: consiste à utiliser maven externe dans m2eclipse, au lieu de maven intégré.
Cela se fait en trois étapes:
1 Installez maven sur la machine locale (la machine de test était Ubuntu 10.10)
2 Exécutez maven en externe lien comment exécuter maven depuis la console
3 Inside M2eclipse: passer du maven intégré au maven local
mvn --version
ou Google pour votreMAVEN_HOME
, pour moi cela m'a aidé qui est/usr/share/maven2
)Le message d'erreur devrait avoir disparu.
la source
#mvn --version
est pratique de montrer le MAVEN_HOME.Il existe une documentation sur 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
la source
Si vous utilisez Gradle, ajoutez ceci:
la source
Eu une erreur similaire avec le même résultat avec Gradle et a pu la résoudre en suivant:
La ligne non commentée est celle qui a provoqué la sortie d'erreur. Je crois que vous pouvez transférer cela à Maven.
la source
Vous n'avez pas spécifié de version dans votre fichier de dépendances maven, c'est peut-être pour cette raison qu'il ne sélectionne pas le dernier jar.
Vous avez également besoin d'une autre dépendance avec un identifiant d'
slf4j-log4j12
artefact.Incluez ceci dans votre fichier pom
Faites-moi savoir si l'erreur n'est toujours pas résolue,
je vous recommande également de voir ce lien
la source
Collez ce code dans votre fichier pom.xml. Ça marche pour moi.
la source
Avait examiné le problème 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
la source
J'ai eu le même problème pour mon application Spring Boot - Gradle fonctionnant sur Eclipse Luna. Je pourrais le résoudre en ajoutant manuellement une entrée dans le .classpath de mon projet
L'idée est de suivre cette solution. Mais la mise en œuvre dépend du cas par cas. Une façon de réparer est celle que j'ai utilisée ci-dessus.
J'espère que cela t'aides.
la source
Ce n'est pas un message d'erreur mais un avertissement. Cela est très clairement expliqué sur leur site Web comme suit:
Ce message d'avertissement, c'est-à-dire pas une erreur, est signalé lorsque aucun fournisseur SLF4J n'a pu être trouvé sur le chemin de classe. Placer un (et un seul) slf4j-nop.jar slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar ou logback-classic.jar sur le chemin de classe devrait résoudre le problème. Notez que ces fournisseurs doivent cibler slf4j-api 1.8 ou version ultérieure.
En l'absence de fournisseur, SLF4J utilisera par défaut un fournisseur d'enregistreur sans opération (NOP).
https://www.slf4j.org/codes.html#StaticLoggerBinder
la source
J'ai eu le même problème en écrivant le programme producteur Kafka en utilisant java. Cette erreur est due à la mauvaise bibliothèque slf4j. utilisez ci-dessous la dépendance maven slf4j-simple qui résoudra votre problème.
la source