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.