我有以下jar文件: sl4j-log4j12-1.7.25 但在执行时我收到以下错误: SLF4J:slf4j绑定所请求的版本1.6.99与[1.5.5,1.5.6]不兼容 SLF4J:有关详细信息,请参阅here。
线程“main”中的异常java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.format(Ljava /郎/字符串; Ljava /郎/对象; Ljava /郎/对象;)Lorg / SLF4J /助手/ FormattingTuple; 在 org.slf4j.impl.Log4jLoggerAdapter.info(Log4jLoggerAdapter.java:346)
答案 0 :(得分:0)
确保您的slf4j-api版本与您的slf4j-log版本相同。
您的答案在您提供的链接中!
slf4j-api版本与绑定版本
不匹配SLF4J绑定指定一个工件,例如slf4j-jdk14.jar或slf4j-> > log4j12.jar用于将slf4j绑定到底层日志框架,比如java.util.logging和log4j。 混合混合不同版本的slf4j-api.jar和SLF4J绑定可能会导致问题。例如,如果您使用的是slf4j-api-1.8.0-alpha2.jar,那么您还应该使用slf4j-simple-1.8.0-alpha2.jar,使用slf4j-simple-1.5.5.jar将无效。
注意从客户端的角度来看,所有版本的slf4j-api都是兼容的。对于任何N和M,使用slf4j-api-N.jar编译的客户端代码与slf4j-api-M.jar完全匹配。您只需要确保绑定的版本与slf4j-api.jar的版本匹配。您不必担心项目中给定依赖项使用的slf4j-api.jar的版本。你可以随时使用任何版本的slf4j-api.jar,只要slf4j-api.jar的版本及其绑定匹配,你应该没问题。 在初始化时,如果SLF4J怀疑可能存在api与绑定版本不匹配问题,则会发出有关可疑不匹配的警告。