SLF4J Bindungsfehler

8

Ich bin neu bei Maven und die letzten zwei Tage versuche ich, maven in ein kleines Webprojekt zu integrieren. (Ich benutze Eclipse Juno als IDE). Zuerst habe ich mit dem Befehl "mvn-archetype-webapp" ein neues Projekt (Struktur) erzeugt und die Quellen aus dem Projekt in diese Struktur kopiert. Dann habe ich alle Abhängigkeiten zur pom.xml hinzugefügt, so dass ich das Projekt mit dem tomcat7 Plugin kompilieren und starten konnte. Bis jetzt funktioniert alles gut außer den SLF4J Fehlermeldungen am Anfang jedes maven Befehls:

 %Vor%

Meine pom.xml-Abhängigkeiten sehen so aus:

%Vor%

Kann mir jemand bei diesem Problem helfen?

    
Michael Gensler 05.07.2012, 15:41
quelle

7 Antworten

8

Eclipse Juno und Indigo unterdrücken bei Verwendung der gebündelten Maven-Version (m2e) nicht die Meldung SLF4J: Die Klasse "org.slf4j.impl.StaticLoggerBinder" konnte nicht geladen werden. Dieses Verhalten tritt ab der m2e-Version 1.1.0.20120530-0009 auf.

Obwohl dies als Fehler angezeigt wird, werden Ihre Protokolle normal gespeichert. Der markierte Fehler wird weiterhin angezeigt, bis der Fehler behoben ist. Mehr dazu auf der m2e Support-Seite .

Die derzeit verfügbare Lösung besteht darin, eine externe Maven-Version anstelle der mitgelieferten Version von Eclipse zu verwenden. Sie können über diese Lösung und weitere Details zu diesem Fehler in der folgenden Frage finden, die genau das gleiche Problem ist, dem Sie gegenüberstehen.

SLF4J: Fehler beim Laden der Klasse "org. slf4j.impl.StaticLoggerBinder ". Fehler

    
Konstantinos Margaritis 07.11.2012, 11:10
quelle
3

Dieser Fehler kommt von eclipse running maven, nicht von Ihrem Projekt, also sollte er nicht den Build-Prozess oder die resultierenden Dateien beeinflussen.

Ich nehme an, das ist ein Problem im Zusammenhang mit Maven, das nicht slf4j oder ein anderes Logging-Tool verwendet, sondern Eclipse oder ein Maven-Plugin versucht.

Der einfachste Weg, den Fehler loszuwerden, ist die Verwendung eines externen Maven anstelle der Laufzeit in Eclipse. Sie können dies in den Einstellungen konfigurieren - & gt; Maven - & gt; Installationen.

    
Alex Lehmann 14.07.2012 09:30
quelle
3

Ich habe das gleiche Problem: Ich habe mein POM in ein leeres Projekt kopiert und es auf fast nichts reduziert (siehe unten) - und sehe immer noch den Fehler. Ich kann bestätigen, dass es nicht weggeht, indem ich SLF4J-Bindungen (Logback usw.) zum POM hinzufüge - die Nachricht kommt anscheinend von Maven selbst, nicht von der Projektsoftware, die kompiliert und getestet wird. (Ich bekomme es jetzt von einem völlig leeren Projekt.)

Das Beste, was ich herausfinden kann, ist, dass es etwas mit Eclipse zu tun hat: Wenn ich Maven manuell über die Kommandozeile starte, erscheint der Fehler nicht - nur beim Aufruf unter Eclipse. (Ich benutze Eclipse Helios Release 2 auf MacOSX, nur FYI, also wissen wir, das Problem ist nicht auf Ihre Version beschränkt, Juno.)

%Vor%

Als Reaktion auf Cekis Vorschlag, hier sind die Ergebnisse von maven's Abhängigkeitsbaum Ziel:

%Vor%

Nicht zu informativ, aber da ist es.

    
Tim 06.07.2012 19:47
quelle
1

Die Abhängigkeitsdeklarationen sehen gut aus. Logback und slf4j werden in Ihrer Web-App versandt. Ich vermute jedoch, dass slf4j-api.jar irgendwie in Tomcat enthalten ist (aber nicht Logback).

Übrigens, der Befehl% mvn dependency:tree ist dein Freund. Was sagt es?

    
Ceki 06.07.2012 07:52
quelle
0

Fügen Sie die Abhängigkeit für logback-core hinzu.

%Vor%     
Raghuram 05.07.2012 18:19
quelle
0
  

"mit dem tomcat7 plugin"

Das tomcat7-Plugin hat die SLF4J-Abhängigkeit. Ich hatte das gleiche Problem, bis ich die Abhängigkeit direkt dem tomcat7-Plugin zugewiesen habe.

%Vor%     
l --marc l 01.06.2014 21:39
quelle
-1

Sie können dies Ihren Pom-Eigenschaften hinzufügen.

%Vor%     
user3760559 23.07.2014 04:17
quelle

Tags und Links