2013-10-14 63 views
1

我有一个遗留的Java EE应用程序,我正在移植到Maven框架。该应用程序最初使用slf4j 1.5x系列进行记录,我正在升级到1.7.1记录器。我在现场SLF4J读取slf4j升级绑定更新错误?不兼容的绑定

http://slf4j.org/faq.html#where_is_binding

请注意,所有绑定依赖于SLF4J-api.jar文件。

我将slf4j-api.jar升级到1.7,并且使用slf4j-simple和slf4j-log4j12。我似乎仍然得到了一个不兼容的绑定错误,这非常坦率地把我拉上了墙。任何帮助,将不胜感激

INFO: validateJarFile(C:\Users\adam\apache-tomcat-7.0.42\webapps\ myWebApp\WEB-INF\lib\geronimo-servlet_2.5_spec-1.2.jar) - jar not loaded. 
See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 

Oct 14, 2013 1:57:42 PM org.apache.catalina.loader.WebappClassLoader validateJar 
File 
INFO: validateJarFile(C:\Users\adam\apache-tomcat-7.0.42\webapps\ myWebApp\WEB-INF\lib\servlet-api-2.3.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 

Oct 14, 2013 1:57:42 PM org.apache.catalina.loader.WebappClassLoader validateJar 
File 
INFO: validateJarFile(C:\Users\adam\apache-tomcat-7.0.42\webapps\ myWebApp\WEB-INF\lib\servlet-api-2.5-6.1.11.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 

SLF4J: Class path contains multiple SLF4J bindings. 

SLF4J: Found binding in [jar:file:/C:/Users/adam/apache-tomcat-7.0.42/webapps/ 
myWebApp/WEB-INF/lib/slf4j-log4j12-1.5.0.jar!/org/slf4j/impl 
/StaticLoggerBinder.class] 

SLF4J: Found binding in [jar:file:/C:/Users/adam/apache-tomcat-7.0.42/webapps/ 
myWebApp/WEB-INF/lib/slf4j-simple-1.5.0.jar!/org/slf4j/impl/ 
StaticLoggerBinder.class] 

SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 

SLF4J: slf4j-api 1.6.x (or later) is incompatible with this binding. 

SLF4J: Your binding is version 1.5.5 or earlier. 

SLF4J: Upgrade your binding to version 1.6.x. 
+2

此输出告诉你哪些文件是旧版本。也许您已将新文件添加到您的版本,但您的Web应用程序部署仍使用旧版本(1.5.0)。 – mattx

+1

我怀疑你是对的,我不确定这是怎么发生的,因为我把所有依赖关系改为1.7.1,我可能要检查构建 – user1801279

+1

@ user1801279你的构建可能没有从'lib中删除旧副本'目录。运行一个完整的清洁,并检查他们是否显示备份。 – chrylis

回答

3

尝试升级到SLF4J-log4j12-1.6.1.jar,我有同样的问题,,它现在为我工作。