example - Error al cargar la clase "org.slf4j.impl.StaticLoggerBinder"-¿Qué classpath?
slf4j vs log4j (1)
Mi pom.xml
contiene solo una referencia a SLF4J:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.5.10</version>
</dependency>
Estoy recibiendo este error:
SLF4J: Error al cargar la clase "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defecto a la implementación del registrador sin operación (NOP) SLF4J:
Consulte http://www.slf4j.org/codes.html#StaticLoggerBinder para obtener más detalles.
Revisé esa URL y, de hecho, proporciona una solución: "Colocando una (y solo una) de slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar o logback-classic.jar en La ruta de clase debería resolver el problema ".
Mi pregunta es: que classpath?
- ¿El sistema %CLASSPATH% ? (¡No tengo uno! Necesitaré crearlo específicamente para esto)
- El proyecto de Eclipse
.classpath
? (Creo que intenté esto pero no ayudó) - ¿Otro?
Encontré algunas publicaciones sobre el tema here en SO, pero todas citan la misma respuesta: "lugar ... en el camino de la clase " .
Que classpath?
En primer lugar, para agregar SLF4J debe poner UNA y solo UNA de estas dependencias en su pom.xml. Depende de la implementación que elija utilizar. Cada dependencia que agregue en el pom.xml se agrega automáticamente en el classpath. Mientras esté utilizando Eclipse, no es necesario modificar el% CLASSPATH% del sistema.
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version></version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Por último, pero no menos importante, tendrá el error SLF4J: Error al cargar la clase "org.slf4j.impl.StaticLoggerBinder".
Eclipse Juno e Indigo, al usar la versión de paquete (m2e), no están suprimiendo el mensaje SLF4J: No se pudo cargar la clase "org.slf4j.impl.StaticLoggerBinder". Este comportamiento está presente desde la versión m2e 1.1.0.20120530-0009 y en adelante.
Aunque, esto se indica como un error, sus registros se guardarán normalmente. El error resaltado seguirá presente hasta que se solucione este error. Más sobre esto en el sitio de soporte de m2e .
La solución actual disponible para suprimir este mensaje es usar una versión externa de Maven en lugar de la versión incluida de Eclipse. Puede encontrar más información sobre esta solución y más detalles sobre este error en la siguiente pregunta.