0

私のプロジェクトでは、Hibernate3(slf4j-1.6に依存)とRESTeasy(slf4j-1.5に依存)を使用しています。どちらも互換性がなく、実行時にエラーが発生します。

SLF4J: The requested version 1.5.8 by your slf4j binding is not compatible with [1.6]
SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.
Exception in thread "main" java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.format(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
        at org.slf4j.impl.SimpleLogger.formatAndLog(SimpleLogger.java:222)
        at org.slf4j.impl.SimpleLogger.info(SimpleLogger.java:258)
        at org.hibernate.annotations.common.Version.<clinit>(Version.java:37)

この対立を解決するためのアイデアはありますか?

4

1 に答える 1

1

私はRESTeasyに精通していませんが、以前にこの問題が発生しました。すべてのslf4j jarを新しいバージョンに更新したところ、古いバージョンに依存する使用していたAPIがバージョン1.6でも機能することがわかりました。

試してみても害はありません。

編集:slf4j api(slf4j-api-1.xxjar)とプラグイン(slf4j-log4j12-1.xxjarなど)の両方を同じバージョンに更新するようにしてください。

于 2010-11-04T14:01:28.273 に答える