Maven プロジェクトで OpenSaml を使用しています。DefaultBootstrap クラスのバリエーションを使用して OpenSaml を初期化しようとすると、次のスタックトレースが表示されます。
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 dependency:tree を実行して、一致しないバージョンの SLF4J jar がどこからロードされているかを把握しようとしました。また、mvn.bat で -verbose オプションを Java に渡そうとしました。これらのオプションはどちらも役に立ちませんでした。pom.xml の依存関係を 1 つずつ削除しようとしました。繰り返しますが、運が悪いです。犯人のjarファイルを見つける方法や、このエラーを解決する方法について誰かが光を当てることができれば、私は感謝しています.