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.