Der obige Fehler trat nach dem Update des m2e auf Version 1.1 auf. Durch das Entfernen von m2e 1.1 und das Zurückrollen auf m2e 1.0 funktionierte alles gut. Ich habe versucht, das Problem in Windows und Ubuntu zu wiederholen, und es wurde mir genau derselbe Fehler angezeigt. Zahlreiche Konfigurationen von slf4j-api und logback wurden getestet, aber keine scheint zu funktionieren.
Der Fehler tritt in jedem Maven-Projekt auf, ohne die Abhängigkeit von slf4j zu erklären.
New Maven Project -> Maven-Archetyp-Schnellstart
und
New Maven Project -> Einfaches Projekt ohne Archetypauswahl
ergebnis zu
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
Getestet mit Eclipse Indigo und Eclipse Juno (32 und 64 Bit) unter Mac, 32 Bit unter Ubuntu und 64 und 32 Bit unter Windows. Getestete Neuinstallationen von Juno Classic, Juno Modeling-Tools, Kepler-Standard, Kepler-Modeling-Tools und führten zu demselben Fehler.
Der Fehler erscheint bei clean, install, test, deploy, generate-sources, validate, compile, Paket, integrationstest, verify und Kombinationen des Ziels sauber mit den übrigen Zielen. Sie erscheint auch mit den Parametern -e und -X. Es wurde versucht, das m2e-Repository zu löschen und von Grund auf neu zu laden, jedoch ohne Erfolg. Es sollte erwähnt werden, dass alle oben genannten Systeme auf 3 verschiedenen Maschinen und in der virtuellen Box getestet wurden, jedoch derselbe Fehler aufgetreten ist.
Ich habe alle verschiedenen logback -Konfigurationen (von 1.0.4 bis 1.0.13) ausprobiert, 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-simple -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>
Versucht alle unterschiedlichen (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>
Nicht zuletzt werden die Protokolle trotz des Fehlers gespeichert und gedruckt.
Laden Sie Eclipse Juno, Indigo oder Kepler 32 oder 64 Bit herunter (Alle Installationen werden Den gleichen Fehler verursachen).
Installieren Sie m2e - Maven Integration für Eclipse
ODER
Aktualisieren Sie Ihre m2e-Version auf 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-> Auswählen
maven-archetype-quickstart aus dem Katalog-> Fertigstellen
ODER
Wählen Sie Datei-> Neu-> Andere-> Maven-Projekt-> Klicken Sie auf Weiter-> Auswählen. Ein einfaches Projekt erstellen (Archetypauswahl überspringen) -> Artefakt-Info vervollständigen-> Fertigstellen
Die erste Zeile 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.
P.S. Bestehende Projekte führen nach Aktualisierung der m2e-Version auf 1.1.0.20120530-0009, 1.2.0.20120903-1050, 1.3.0.20130129-0926, 1.4.0.20130601-0317 zum gleichen Fehler
EDIT
m2e-Support-Site:
Die obige Frage wurde als Fehler in der m2e-Support-Site veröffentlicht und die Antwort von Igor Fedorenko war das
Es gibt keine unmittelbaren Pläne, diese Nachricht zu unterdrücken.
Um den obigen Fehler anzuzeigen, lesen Sie bitte die offizielle Supportseite m2e
***Reported FIXED***
Ich kann diesen Fehler auch bestätigen.
Workaround: verwendet externer Maven innerhalb von m2Eclipse anstelle des eingebetteten Maven.
Dies geschieht in drei Schritten:
1 Install maven auf lokalem Rechner (der Testrechner war Ubuntu 10.10)
mvn --version
Apache Maven 2.2.1 (rdebian-4) Java-Version: 1.6.0_20 Java-Startseite: /usr/lib/jvm/Java-6-openjdk/jre Standardgebietsschema: de_DE, Plattform Kodierung: UTF-8 Betriebssystemname: "linux" -Version: "2.6.35-32-generic" Arch: "AMD64" -Familie: "Unix"
2 Maven extern ausführen Verknüpfung zum Ausführen von Maven von der Konsole aus
> 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 in m2Eclipse: von eingebetteter Maven zu lokalem Maven wechseln
mvn --version
oder google für Ihren MAVEN_HOME
für mich dies hat mir geholfen das ist /usr/share/maven2
)Die Fehlermeldung sollte weg sein.
Es gibt eine Dokumentation auf der SLf4J-Site, um dieses Problem zu beheben. Ich folgte dem und fügte slf4j-simple-1.6.1.jar zu meiner Anwendung zusammen mit slf4j-api-1.6.1.jar hinzu, die ich bereits hatte. Dies löste mein Problem
Wenn Sie Gradle verwenden, fügen Sie Folgendes hinzu:
dependencies {
...
compile "org.slf4j:slf4j-simple:1.7.9"
...
}
Hatte einen ähnlichen Fehler mit dem gleichen Ergebnis mit Gradle und konnte ihn folgendermaßen lösen:
//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'
Auskommentierte Zeile ist diejenige, die die Fehlerausgabe verursacht hat. Ich glaube, du kannst das auf Maven übertragen.
Sie haben keine Version in Ihrer Maven-Abhängigkeitsdatei angegeben. Dies ist der Grund, warum sie nicht die neueste Dose auswählt
Außerdem benötigen Sie eine weitere Abhängigkeit von slf4j-log4j12
Artifact-ID.
Fügen Sie dies in Ihre POM-Datei ein
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.6</version>
</dependency>
Lassen Sie mich wissen, wenn der Fehler immer noch nicht behoben ist
Ich empfehle Ihnen auch, diesen Link zu sehen.
Fügen Sie diesen Code in Ihre pom.xml-Datei ein. Für mich geht das.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.1</version>
<scope>test</scope>
</dependency>
Hatte das Problem schon einmal angeschaut, nachdem es aufgetaucht war. Glauben Sie, dass dies eine gute Lektüre für andere sein wird, die mit derselben Ausgabe hier herunterkommen:
Ich hatte ein ähnliches Problem für meine Spring Boot - Gradle - Anwendung, die auf Eclipse Luna ausgeführt wurde .. __ Ich könnte es lösen, indem Sie manuell einen Eintrag in den .classpath meines Projekts hinzufügen
<classpathentry sourcepath="C:/Users/<username>/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-simple/1.7.7/3150039466ad03e6ef1c7ec1c2cbb0d96710cf64/slf4j-simple-1.7.7-sources.jar" kind="lib" path="C:/Users/<username>/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-simple/1.7.7/8095d0b9f7e0a9cd79a663c740e0f8fb31d0e2c8/slf4j-simple-1.7.7.jar"/>
Die Idee ist, diese Lösung zu folgen. Die Umsetzung ist jedoch von Fall zu Fall abhängig. Eine Möglichkeit der Befestigung ist die, die ich oben verwendet habe.
Hoffe das hilft.
Dies ist keine Fehlermeldung, sondern eine Warnung. Es wird auf ihrer Website sehr klar erklärt als:
Diese Warnung, d. H. Keine Fehlermeldung, wird gemeldet, wenn im Klassenpfad keine SLF4J-Provider gefunden werden konnten. 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 Provider vorhanden ist, verwendet SLF4J standardmäßig einen No-Operation-Logger-Provider (NOP).