java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder

java.lang.ClassNotFoundException : org.slf4j.impl.StaticLoggerBinder

Problème

Lors du démarrage d'une application Web Wicket, le message d'erreur suivant s'affiche:

java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
    at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:223)
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:120)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:111)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:269)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242)
    ...
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    ... 31 more

Solution

Dans le développement de Wicket, vous devez ajouterSLF4j logging implementation, sinon, le démarrage échouera. Pour résoudre ce problème, déclarez le slf4j dans votre fichier Mavenpom.xml.

Si vous utilisez log4j, déclare la liaison slf4j log4j:


    org.slf4j
    slf4j-log4j12
    1.5.6

For non-Maven users
Téléchargez simplement la bibliothèque et placez-la dans le chemin de classe de votre projet.

Référence