问题
启动Wicket Web应用程序时,它显示以下错误消息:
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
解
在Wicket开发中,您必须添加SLF4j日志记录实现 ,否则它将无法启动。 要解决此问题,请在您的Maven pom.xml
文件中声明slf4j。
如果您使用的是log4j,则声明slf4j log4j绑定:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.6</version>
</dependency>
对于非Maven用户
只需下载该库并将其放入您的项目类路径中即可。
参考
标签: 检票口
翻译自: https://mkyong.com/wicket/java-lang-classnotfoundexception-org-slf4j-impl-staticloggerbinder/