java.lang.NoSuchMethodError:org.slf4j.helpers.Util.report(Ljava / lang / String;)初始化OpenSaml时的V

时间:2013-04-07 14:46:07

标签: java slf4j nosuchmethoderror opensaml

我在我的maven项目中使用OpenSaml。当我尝试初始化OpenSaml时,使用DefaultBootstrap类的变体,我得到以下stacktrace:

    java.lang.NoSuchMethodError: org.slf4j.helpers.Util.report(Ljava/lang/String;)V
    org.apache.log4j.Log4jLoggerFactory.<clinit>(Log4jLoggerFactory.java:47)
    org.apache.log4j.LogManager.getLogger(LogManager.java:42)
    org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73)
    org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:103)
    org.opensaml.xml.XMLConfigurator.<init>(XMLConfigurator.java:56)
    org.opensaml.xml.XMLConfigurator.<init>(XMLConfigurator.java:73)

我试过做mvn依赖:树来确定从哪里加载不匹配的SLF4J jar版本。我也尝试在mvn.bat中将-verbose选项传递给Java。这些选项都没有帮助。我已经尝试逐个删除我的pom.xml中的依赖项。再一次,没有运气。如果有人可以说明如何找到罪魁祸首或如何解决这个错误,我将不胜感激。

2 个答案:

答案 0 :(得分:2)

我敢打赌你的类路径中有slf4j-api.jar 1.5.0或更早版本,而log4j-over-slf4j.jar的版本有更高版本。

答案 1 :(得分:0)

我遇到了类似的问题。经过大量的探索和调试后,我发现log4j lib不兼容。我的自定义构建jar具有需要log4j-1.2.12或更高版本的hbase异步客户端。