SLF4J: No se pudo cargar la clase "org.slf4j.impl.StaticLoggerBinder"

Resuelto DJ180 asked hace 13 años • 39 respuestas

Mi aplicación se implementará tanto en tcServer como en WebSphere 6.1. Esta aplicación utiliza ehCache y por eso requiere slf4j como dependencia. Como resultado, agregué el archivo jar slf4j-api.jar (1.6) a mi paquete de archivos war.

La aplicación funciona bien en tcServer excepto por el siguiente error:

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.

Sin embargo, cuando implemento en WebSphere obtengo un archivo java.lang.NoClassDefFoundError: org.slf4j.impl.StaticLoggerBinder.

Acompañado también deFailed to load class "org.slf4j.impl.StaticMDCBinder"

Revisé las rutas de clases de ambos servidores de aplicaciones y no hay ningún otro archivo jar slf4j.

¿Alguien tiene alguna idea de lo que puede estar pasando aquí?

DJ180 avatar Sep 15 '11 02:09 DJ180
Aceptado

Tuve el mismo problema con WebSphere 6.1. Como señaló Ceki, WebSphere estaba usando toneladas de archivos jar y uno de ellos apuntaba a una versión anterior de slf4j.

El respaldo No-Op ocurre solo con slf4j 1.6+, por lo que cualquier versión anterior generará una excepción y detendrá su implementación.

Hay una documentación en el sitio SLf4J que resuelve esto. Seguí eso y agregué slf4j-simple-1.6.1.jara mi solicitud junto con slf4j-api-1.6.1.jarla que ya tenía.

Si usa Maven, agregue las siguientes dependencias, siendo ${slf4j.version}la última versión de slf4j

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j.version}</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>${slf4j.version}</version>
</dependency>

Esto resolvió mi problema.

Prasanna avatar Mar 29 '2012 05:03 Prasanna

Esto es para aquellos que llegaron aquí desde la búsqueda de Google.

Si usa Maven simplemente agregue lo siguiente

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.5</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.5</version>
</dependency>

O

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.5</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.6.4</version>
</dependency>
Igor Katkov avatar Feb 14 '2014 19:02 Igor Katkov

Simplemente agregue esto a su pom.xml:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.21</version>
</dependency>
Benny Code avatar Apr 21 '2016 10:04 Benny Code