- In Bezug auf Eclipse IDE ( Indigo , Juno und Kepler (32- und 64-Bit-Versionen))
- Plattformen : 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
Allgemeine Information
Der obige Fehler trat nach dem Update des m2e auf Version 1.1 auf. Durch Entfernen von m2e 1.1 und Zurücksetzen auf m2e 1.0 hat alles einwandfrei funktioniert. Ich habe versucht, das Problem in Windows und Ubuntu zu wiederholen, und es gab mir genau den gleichen Fehler. Zahlreiche Konfigurationen von slf4j-api und logback wurden getestet, aber keine scheint zu funktionieren.
Der Fehler tritt in jedem Maven-Projekt auf, auch ohne die Abhängigkeit von slf4j zu deklarieren .
Neues Maven-Projekt -> Maven-Archetyp-Schnellstart
und
Neues Maven-Projekt -> Einfaches Projekt ohne Auswahl des Archetyps
Ergebnis zu
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
Umgebung und Konfigurationen testen
Getestet mit Eclipse Indigo und Eclipse Juno (32 und 64 Bit) auf Mac, 32 Bit unter Ubuntu und 64 und 32 Bit unter Windows. Getestete Neuinstallationen von Juno Classic , Juno Modeling Tools , Kepler Standard und Kepler Modeling Tools und ergaben den gleichen Fehler.
Der Fehler tritt beim Bereinigen , Installieren , Testen , Bereitstellen , Generieren von Quellen , Validieren , Kompilieren , Packen , Integrationstests , Überprüfen und Kombinieren des Ziels Bereinigen mit den übrigen Zielen auf. Es erscheint auch mit den Parametern -e und -X . Es wurde versucht, das m2e-Repository zu löschen und von Grund auf neu herunterzuladen, jedoch erneut ohne Erfolg. Es sollte erwähnt werden, dass es in 3 verschiedenen Maschinen und einer virtuellen Box aller oben genannten Systeme getestet wurde, aber den gleichen Fehler verursachte.
Versuchte alle verschiedenen Logback- Konfigurationen (von 1.0.4 bis 1.0.13), die die Abhängigkeiten von slf4j-api und logback-core auflösen , aber alle den gleichen Fehler erzeugen:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version></version>
</dependency>
Versuchte alle verschiedenen (von 1.6.1 bis 1.7.5) slf4j-einfachen Konfigurationen.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Versuchte alle verschiedenen (von 1.6.1 bis 1.7.5) log4j-over-slf4j- Konfigurationen.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Versuchte alle verschiedenen (von 1.6.1 bis 1.7.5) slf4j-jdk14- Konfigurationen.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Versuchte alle verschiedenen (von 1.6.1 bis 1.7.5) slf4j-log4j12- Konfigurationen.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Versuchte slf4j-nop 1.7.5 Konfiguration.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.7.5</version>
<scope>compile</scope>
</dependency>
Last but not least werden die Protokolle trotz des Fehlers gespeichert und gedruckt.
Möglichkeiten, den Fehler zu reproduzieren
Laden Sie Eclipse Juno, Indigo oder Kepler 32 oder 64 Bit herunter (alle Installationen verursachen den gleichen Fehler).
Installieren Sie m2e - Maven Integration für Eclipse
- Juno - http://download.eclipse.org/releases/juno
- Kepler - http://download.eclipse.org/releases/kepler
- Indigo - http://download.eclipse.org/technology/m2e/releases/ ( derzeit nicht verfügbar )
ODER
Aktualisieren Sie Ihre M2e Version 1.1.0.20120530-0009 oder 1.2.0.20120903-1050 oder 1.3.0.20130129-0926 oder 1.4.0.20130601-0317 )
Wählen Sie Datei-> Neu-> Andere-> Maven-Projekt-> Klicken Sie auf Weiter-> Wählen Sie
Maven-Archetyp-Schnellstart aus dem Katalog-> Fertig stellenODER
Wählen Sie Datei-> Neu-> Andere-> Maven-Projekt-> Klicken Sie auf Weiter-> Wählen Sie Einfaches Projekt erstellen (Archetypauswahl überspringen) -> Artefaktinfo vervollständigen-> Fertig stellen
- Klicken Sie mit der rechten Maustaste auf das Projekt-> Läuft als-> Neuinstallation (oder ein anderes oben genanntes Ziel).
Die erste Zeile auf der Konsole wird sein
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 Bestehende Projekte erzeugen nach dem Aktualisieren der m2e-Version auf 1.1.0.20120530-0009 , 1.2.0.20120903-1050 , 1.3.0.20130129-0926 , 1.4.0.20130601-0317 denselben Fehler
Aktualisierung
BEARBEITEN
m2e Support-Site:
Die obige Frage wurde als Fehler auf der m2e-Support-Website veröffentlicht und die Antwort von Igor Fedorenko lautete:
Es gibt keine unmittelbaren Pläne, diese Nachricht zu unterdrücken.
Informationen zum Anzeigen des obigen Fehlers finden Sie auf der offiziellen Support-Website von m2e
BEARBEITEN 2
- Die obige Fehleranzeige ist vorhanden auch M2e Version 1.2.0.20120903-1050
BEARBEITEN 3
- Die obige Fehleranzeige ist vorhanden auch M2e Version 1.3.0.20130129-0926
BEARBEITEN 4
- Die obige Fehleranzeige ist vorhanden auch M2e Version 1.4.0.20130601-0317
BEARBEITEN 5
***Reported FIXED***
- Der obige Fehler wird als für feste berichtet M2e Version 1.5.0 / Luna M3 ( Ziel Milestone ). Die Version steht noch nicht zum Download zur Verfügung.
- Luna M3 ist für den 15. November geplant .
- Die neuesten Entwickler-Builds finden Sie hier
- Weitere Informationen zu den Meilensteinen von m2e finden Sie im Hauptrepository von m2e .
slf4j
in beiden habe,slf4j-api-1.7.7
undjcl-over-slf4j-1.7.7
wenn ich versuche, jemanden von ihnen zu entfernen, erhalte ich eine Fehlermeldung, dass ihreLogger
Klasse fehlt. Was soll ich machen?Antworten:
Ich kann diesen Fehler auch bestätigen.
Problemumgehung: Verwenden Sie einen externen Maven in m2eclipse anstelle des eingebetteten Maven.
Dies geschieht in drei Schritten:
1 Installieren Sie maven auf einem lokalen Computer (der Testcomputer war Ubuntu 10.10).
2 Maven extern ausführen Link, wie Maven von der Konsole ausgeführt wird
3 innerhalb von m2eclipse: Wechseln Sie vom eingebetteten Maven zum lokalen Maven
mvn --version
für Maven Home befindet ( oder googeln Sie für IhrMAVEN_HOME
, für mich hat mir das geholfen/usr/share/maven2
)Die Fehlermeldung sollte verschwunden sein.
quelle
#mvn --version
ist es praktisch, das MAVEN_HOME zu zeigen.Auf der SLf4J-Site befindet sich eine Dokumentation, um dieses Problem zu beheben. Ich folgte dem und fügte meiner Anwendung slf4j-simple-1.6.1.jar hinzu, zusammen mit slf4j-api-1.6.1.jar, das ich bereits hatte. Dies löste mein Problem
slf4j
quelle
Wenn Sie Gradle verwenden, fügen Sie Folgendes hinzu:
quelle
Hatte einen ähnlichen Fehler mit dem gleichen Ergebnis bei Gradle und konnte ihn folgendermaßen lösen:
Die auskommentierte Zeile hat die Fehlerausgabe verursacht. Ich glaube, Sie können dies auf Maven übertragen.
quelle
Sie haben in Ihrer Maven-Abhängigkeitsdatei keine Version angegeben. Dies ist möglicherweise der Grund, warum nicht das neueste JAR ausgewählt wird.
Außerdem benötigen Sie eine weitere Abhängigkeit mit der
slf4j-log4j12
Artefakt-ID.Fügen Sie dies in Ihre POM-Datei ein
Lassen Sie mich wissen, wenn der Fehler immer noch nicht behoben ist.
Ich empfehle Ihnen auch, diesen Link zu sehen
quelle
Fügen Sie diesen Code in Ihre Datei pom.xml ein. Für mich geht das.
quelle
Hatte das Problem untersucht, nachdem es aufgetaucht war. Glauben Sie, dass dies eine gute Lektüre für andere sein wird, die mit demselben Problem hierher kommen:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=387064
quelle
Ich hatte das ähnliche Problem für meine Spring Boot - Gradle - Anwendung, die auf Eclipse Luna ausgeführt wurde. Ich könnte es beheben, indem ich manuell einen Eintrag im Klassenpfad meines Projekts hinzufüge
Die Idee ist, dieser Lösung zu folgen . Die Implementierung hängt jedoch von Fall zu Fall ab. Eine Art der Reparatur ist die, die ich oben verwendet habe.
Hoffe das hilft.
quelle
Dies ist keine Fehlermeldung, sondern eine Warnung. Es wird auf ihrer Website sehr deutlich erklärt als:
Diese Warnung, dh keine Fehlermeldung, wird gemeldet, wenn im Klassenpfad keine SLF4J-Anbieter gefunden wurden. Das Platzieren eines (und nur eines) von slf4j-nop.jar slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar oder logback-classic.jar im Klassenpfad sollte das Problem lösen. Beachten Sie, dass diese Anbieter auf slf4j-api 1.8 oder höher abzielen müssen.
Wenn kein Anbieter vorhanden ist, verwendet SLF4J standardmäßig einen NOP-Protokollierungsanbieter (No-Operation).
https://www.slf4j.org/codes.html#StaticLoggerBinder
quelle
Ich hatte das gleiche Problem beim Schreiben des Kafka-Produzentenprogramms mit Java. Dieser Fehler tritt aufgrund der falschen slf4j-Bibliothek auf. Verwenden Sie die folgende slf4j-einfache Maven-Abhängigkeit, die Ihr Problem behebt.
quelle