- Respecto a Eclipse IDE ( Indigo , Juno y Kepler (versiones de 32 y 64 bits))
- Plataformas : Windows , Ubuntu , Mac
- versión m2e : 1.1.0.20120530-0009 , 1.2.0.20120903-1050 , 1.3.0.20130129-0926 ,
1.4.0.20130601-0317
Información general
El error anterior se produjo después de actualizar m2e a la versión 1.1. Al eliminar m2e 1.1 y volver a m2e 1.0, todo funcionó bien. Intenté repetir el problema en Windows y Ubuntu y me dio exactamente el mismo error. Se probaron numerosas configuraciones de slf4j-api y logback, pero ninguna parece funcionar.
El error aparece en cualquier proyecto maven incluso sin declarar la dependencia slf4j .
Nuevo proyecto Maven -> maven-archetype-quickstart
y
Nuevo proyecto Maven -> Proyecto simple sin selección de arquetipo
resultado de
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
Prueba de entornos y configuraciones
Probado con Eclipse Indigo y Eclipse Juno (32 y 64 bits ambos) en Mac, 32 bits en Ubuntu y 64 y 32 bits en Windows. Probé nuevas instalaciones de Juno Classic , Juno Modeling tools , Kepler Standard , Kepler Modeling Tools y produjo el mismo error.
El error aparece con limpiar , instalar , probar , implementar , generar fuentes , validar , compilar , empaquetar , integrar-probar , verificar y combinaciones de la meta limpia con las demás metas. Aparece también con los parámetros -e y -X . Hubo un intento de eliminar el repositorio de m2e y descargarlo desde cero, pero nuevamente sin éxito. Debería mencionar que se probó en 3 máquinas diferentes y en la caja virtual de todos los sistemas anteriores, pero produjo el mismo error.
Probé todas las configuraciones de logback diferentes (de 1.0.4 a 1.0.13) que resuelven las dependencias slf4j-api y logback-core , pero todas producen el mismo error:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version></version>
</dependency>
Probé todas las configuraciones diferentes slf4j-simple (de 1.6.1 a 1.7.5 ) .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Probé todas las configuraciones de log4j-over-slf4j diferentes (de 1.6.1 a 1.7.5) .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Probé todas las configuraciones diferentes (de 1.6.1 a 1.7.5 ) slf4j-jdk14 .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Probé todas las configuraciones diferentes (de 1.6.1 a 1.7.5 ) slf4j-log4j12 .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version></version>
<scope>compile</scope>
</dependency>
Probé la configuración slf4j-nop 1.7.5 .
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.7.5</version>
<scope>compile</scope>
</dependency>
Por último, pero no menos importante, los registros se guardan e imprimen a pesar del error.
Formas de reproducir el error
Descargue Eclipse Juno, Indigo o Kepler 32 o 64 bit (todas las instalaciones causarán el mismo error).
Instalar m2e: integración de Maven para Eclipse
- Juno: http://download.eclipse.org/releases/juno
- Kepler: http://download.eclipse.org/releases/kepler
- Indigo - http://download.eclipse.org/technology/m2e/releases/ ( actualmente no disponible )
O
Actualice su versión de m2e a 1.1.0.20120530-0009 , o 1.2.0.20120903-1050 , o 1.3.0.20130129-0926 , o 1.4.0.20130601-0317 )
Seleccione Archivo-> Nuevo-> Otro-> Proyecto Maven-> Haga clic en Siguiente-> Seleccione
maven-archetype-quickstart del catálogo-> FinalizarO
Seleccione Archivo-> Nuevo-> Otro-> Proyecto Maven-> Haga clic en Siguiente-> Seleccione Crear un proyecto simple (omitir la selección de arquetipo) -> Información completa del artefacto-> Finalizar
- Haga clic derecho en el proyecto-> Ejecuta como-> instalación limpia (o cualquier otro objetivo mencionado anteriormente)
La primera línea de la consola será
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.
PS Los proyectos existentes producirán el mismo error después de actualizar la versión m2e a 1.1.0.20120530-0009 , 1.2.0.20120903-1050 , 1.3.0.20130129-0926 , 1.4.0.20130601-0317
Actualizaciones
EDITAR
sitio de soporte de m2e:
La pregunta anterior se publicó como un error en el sitio de soporte de m2e y la respuesta de Igor Fedorenko fue que
No hay planes inmediatos para suprimir este mensaje.
Para ver el error anterior, consulte el sitio de soporte oficial de m2e
EDITAR 2
- La indicación de error anterior también está presente en m2e versión 1.2.0.20120903-1050
EDITAR 3
- La indicación de error anterior también está presente en m2e versión 1.3.0.20130129-0926
EDITAR 4
- La indicación de error anterior también está presente en m2e versión 1.4.0.20130601-0317
EDITAR 5
***Reported FIXED***
- Se informa que el error anterior está corregido para m2e versión 1.5.0 / Luna M3 ( Target Milestone ). La versión aún no está disponible para descargar.
- Luna M3 está programado para el 15 de noviembre .
- La última versión de desarrollo está disponible aquí
- Puede encontrar más información sobre los hitos de m2e en el repositorio principal de m2e .
slf4j
en ambosslf4j-api-1.7.7
yjcl-over-slf4j-1.7.7
si trato de eliminar a alguno de ellosLogger
, aparece un mensaje de error que dice que falta su clase. ¿Qué tengo que hacer?Respuestas:
También puedo confirmar este error.
Solución alternativa: es utilizar maven externo dentro de m2eclipse, en lugar de su maven incrustado.
Eso se hace en tres pasos:
1 Instale maven en la máquina local (la máquina de prueba era Ubuntu 10.10)
2 Ejecutar maven enlace externo cómo ejecutar maven desde la consola
3 dentro de m2eclipse: cambie de maven integrado a maven local
mvn --version
o Google para suMAVEN_HOME
, para mí esto me ayudó a que es/usr/share/maven2
)El mensaje de error debería desaparecer.
fuente
#mvn --version
es conveniente mostrar el MAVEN_HOME.Hay una documentación en el sitio SLf4J para resolver esto. Seguí eso y agregué slf4j-simple-1.6.1.jar a mi aplicación junto con slf4j-api-1.6.1.jar que ya tenía. Esto resolvió mi problema
slf4j
fuente
Si está utilizando Gradle, agregue esto:
fuente
Tuve un error similar con el mismo resultado con Gradle y pude resolverlo de la siguiente manera:
La línea sin comentarios es la que provocó la salida de error. Creo que puedes transferir esto a Maven.
fuente
No ha especificado la versión en su archivo de dependencia de maven, puede ser por eso que no está eligiendo el último jar.
Además, necesita otra dependencia con
slf4j-log4j12
id de artefacto.Incluya esto en su archivo pom
Avíseme si el error aún no se resuelve
, también le recomiendo que vea este enlace
fuente
Pegue este código en su archivo pom.xml. Esto funciona para mi.
fuente
Había pasado por alto el problema después de haberlo aflorado. Cree que esta será una buena lectura para otros que vienen aquí con el mismo problema:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=387064
fuente
Tuve un problema similar para mi aplicación Spring Boot - Gradle que se ejecuta en Eclipse Luna. Podría resolverlo agregando manualmente una entrada en el .classpath de mi proyecto
La idea es seguir esta solución. Pero cómo implementarlo depende de cada caso. Una forma de arreglar es la que usé arriba.
Espero que esto ayude.
fuente
Este no es un mensaje de error sino una advertencia. Se explica muy claramente en su sitio web como:
Este mensaje de advertencia, es decir, no es un error, se informa cuando no se pueden encontrar proveedores SLF4J en la ruta de clases. Colocar uno (y solo uno) de slf4j-nop.jar slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar o logback-classic.jar en la ruta de clases debería resolver el problema. Tenga en cuenta que estos proveedores deben apuntar a slf4j-api 1.8 o posterior.
En ausencia de un proveedor, SLF4J utilizará por defecto un proveedor de registradores sin operación (NOP).
https://www.slf4j.org/codes.html#StaticLoggerBinder
fuente
Tuve el mismo problema al escribir el programa de producción de Kafka usando java. Este error se debe a una biblioteca slf4j incorrecta. use a continuación la dependencia de maven slf4j-simple que solucionará su problema.
fuente