Maven und Spring - SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder"
Ich Baue einen neuen Frühling web-Anwendung, die verwendet maven für das dependency management. Ich bin versucht, slf4j-api und slf4j-simple. Ich Sie in meine pom-Datei, aber wenn ich Baue, bekomme ich die Fehlermeldung
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.
Das ist bezeichnend für slf4j nicht mit einer Umsetzung, allerdings, slf4j-simple ist meine pom. Unten ist meine pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>foo.bar</groupId>
<artifactId>name</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>name</name>
<properties>
<org.springframework.version>3.1.0.RELEASE</org.springframework.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.6.3.Final</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.2.4</version>
</dependency>
</dependencies>
<build>
<finalName>ROOT</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<packagingExcludes>WEB-INF/web.xml</packagingExcludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
Unten ist mein maven dependency tree:
[INFO] foo.bar:name:war:0.0.1-SNAPSHOT
[INFO] +- org.springframework:spring-context:jar:3.1.0.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:3.1.0.RELEASE:compile
[INFO] | | \- aopalliance:aopalliance:jar:1.0:compile
[INFO] | +- org.springframework:spring-beans:jar:3.1.0.RELEASE:compile
[INFO] | +- org.springframework:spring-core:jar:3.1.0.RELEASE:compile
[INFO] | +- org.springframework:spring-expression:jar:3.1.0.RELEASE:compile
[INFO] | \- org.springframework:spring-asm:jar:3.1.0.RELEASE:compile
[INFO] +- org.springframework:spring-webmvc:jar:3.1.0.RELEASE:compile
[INFO] | +- org.springframework:spring-context-support:jar:3.1.0.RELEASE:compile
[INFO] | \- org.springframework:spring-web:jar:3.1.0.RELEASE:compile
[INFO] +- jstl:jstl:jar:1.2:compile
[INFO] +- org.hibernate:hibernate-core:jar:3.6.3.Final:compile
[INFO] | +- antlr:antlr:jar:2.7.6:compile
[INFO] | +- commons-collections:commons-collections:jar:3.1:compile
[INFO] | +- dom4j:dom4j:jar:1.6.1:compile
[INFO] | +- org.hibernate:hibernate-commons-annotations:jar:3.2.0.Final:compile
[INFO] | +- org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.0.Final:compile
[INFO] | \- javax.transaction:jta:jar:1.1:compile
[INFO] +- org.slf4j:slf4j-api:jar:1.6.6:compile
[INFO] +- org.slf4j:slf4j-simple:jar:1.6.6:compile
[INFO] \- net.sourceforge.jtds:jtds:jar:1.2.4:compile
Irgendwelche Ideen auf, was falsch sein könnte? Danke.
Wenn Sie öffnen Sie die war-Datei generiert und Blick in die
Listen beide Dateien in den Krieg: slf4j-api-1.6.6.jar, slf4j-simple-1.6.6.jar
Und was app - /web-server sind Sie bereitstellen? Ist es Programm zum laden von Klassen? Vielleicht noch genauer auf die Umwelt... ich kann nicht sofort sehen, ein Problem mit was haben Sie in den POM, sollte es funktionieren, es sei denn, Ihr app - /web-server oder die Umwelt, tut etwas funky.
Im innen entwickelt von STS mit dem maven-plugin. Seine, auf dem die Bereitstellung der vmware TC server. Ich bekomme die Fehlermeldung, wenn dabei ein mvn clean install und mvn clean package. Im nicht sicher, was du meinst, wenn mein Antrag ist zuerst zum laden von Klassen.
Sie sind sich bewusst, dass Eclipse (und damit STS) macht seltsame Dinge, um die classpath im Vergleich zu Maven?
WEB-INF\lib
Verzeichnis sehen Sie aber die SLF4J API und einfache (Umsetzung)? Der Grund warum ich Frage ist, ich möchte arbeiten aus, wenn Sie die Bereitstellung der richtige war-Datei oder vielleicht sind Sie der Bereitstellung einer war-Datei, die generiert wurde, vor dem hinzufügen der SLF4J einfache Umsetzung...Listen beide Dateien in den Krieg: slf4j-api-1.6.6.jar, slf4j-simple-1.6.6.jar
Und was app - /web-server sind Sie bereitstellen? Ist es Programm zum laden von Klassen? Vielleicht noch genauer auf die Umwelt... ich kann nicht sofort sehen, ein Problem mit was haben Sie in den POM, sollte es funktionieren, es sei denn, Ihr app - /web-server oder die Umwelt, tut etwas funky.
Im innen entwickelt von STS mit dem maven-plugin. Seine, auf dem die Bereitstellung der vmware TC server. Ich bekomme die Fehlermeldung, wenn dabei ein mvn clean install und mvn clean package. Im nicht sicher, was du meinst, wenn mein Antrag ist zuerst zum laden von Klassen.
Sie sind sich bewusst, dass Eclipse (und damit STS) macht seltsame Dinge, um die classpath im Vergleich zu Maven?
InformationsquelleAutor Chris | 2012-10-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich litt unter einem ähnlichen problem. Und noch schlimmer zu machen Hibernate war nicht mit der vollen stacktrace der exception.
War ich mit Eclipse Luna und arbeitete an einem Maven-Projekt.
Nach dem Lesen der verschiedenen Antworten, die in Bezug auf oben genannte Problem, nichts half, bis ich verwendet habe: 'Slf4j Maven-Plugin-Log' :
"Ein SLF4J implementation, die Delegierten auf maven-plugin logging-toolkit. Besonders nützlich, wenn maven-plugin-Abhängigkeiten verwenden, slf4j, denn die logs sind nicht vorhanden, da das maven-plugin-logs".
Quelle:http://mvnrepository.com/artifact/com.googlecode.slf4j-maven-plugin-log/slf4j-maven-plugin-log/1.0.0
InformationsquelleAutor ankurrc
Anscheinend ist dies ein bug in der m2eclipse plugin.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". Fehler
https://bugs.eclipse.org/bugs/show_bug.cgi?id=387064
InformationsquelleAutor Chris
Ich habe versucht, Ihre genaue POM in meiner Umgebung und alles funktioniert einwandfrei - keine Fehler. Das führt mich zu glauben, dass es Ihrer Umgebung. Seine definitiv beachten POM, weil Sie Ihre war-Datei wird immer korrekt erstellt. So einige andere Dinge, die man sich anschauen kann:
mvn clean package
auf der Kommandozeile? Ich weiß, ich habe gesehen, Fragen rund um Dinge wie diese, die zuvor in eclipse, wo wir hatten eine andere version von SLF4J auf dem classpath und mvn scheitern würden, während der Bau in Eclipse.InformationsquelleAutor ramsinb
Hatten wir ein ähnliches problem mit log4j Gläser.
Wurde Hinzugefügt, um das start-script um dies zu ermöglichen, werden zuerst ausgewählt. Stellt sich heraus, wir waren inherting, eine andere version der jar-Datei aus einem übergeordneten Modul
InformationsquelleAutor Will
Fand das heute früh bei meiner Suche nach einer Antwort. Es war nicht für eine lange Zeit später, habe ich endlich die Antwort, die für mich gearbeitet. Dies beantwortet war für mich von Spring hinter die kulissen Protokollierung
Den jist ist es, fügen Sie Folgendes zu Ihrer pom.xml:
InformationsquelleAutor AllanT