/ / java.lang.NoSuchMethodError: org.slf4j.helpers.Util.report (Ljava / lang / String;) V beim Initialisieren von OpenSaml - java, slf4j, nosuchmethoderror, opensaml

java.lang.NoSuchMethodError: org.slf4j.helpers.Util.report (Ljava / lang / String;) V beim Initialisieren von OpenSaml - java, slf4j, nosuchmethoderror, opensaml

Ich verwende OpenSaml in meinem Maven-Projekt. Wenn ich versuche, OpenSaml mit einer Variation der DefaultBootstrap-Klasse zu initialisieren, erhalte ich die folgende Stapelverfolgung:

    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)

Ich habe versucht, mvn Abhängigkeit zu tun:Baum, um herauszufinden, von wo die nicht übereinstimmende Version der SLF4J-JAR geladen wird. Ich habe auch versucht, die Option -verbose in mvn.bat an Java zu übergeben. Keine dieser Optionen hat geholfen. Ich habe versucht, die Abhängigkeiten in meiner pom.xml nacheinander zu entfernen. Wieder kein Glück. Wenn jemand etwas Licht darauf werfen könnte, wie man das Täterglas findet oder wie man diesen Fehler behebt, wäre ich dankbar.

Antworten:

2 für die Antwort № 1

Ich würde wetten, dass Sie slf4j-api.jar Version 1.5.0 oder früher in Ihrem Klassenpfad haben, während die Version von log4j-over-slf4j.jar eine spätere Version hat.


0 für die Antwort № 2

Ich habe das ähnliche Problem. Nach langem Durchsuchen und Debuggen stellte ich fest, dass die log4j-Bibliothek nicht kompatibel war. Mein Custom Build Jar hatte einen Hbase-Async-Client, der log4j-1.2.12 oder höher benötigte.