2011-12-03 11 views
1

私は&は、いくつかの豆を管理し、いくつかの非常に奇妙なランタイムエラーを取得しています作成するために、春(3.0.5.RELEASE)を使用しています。デバッグ奇妙春/ SLF4J /ジャー号

私は、コードを実行した最初の時間は、私がslf4j-api-1.5.11を使用していた、と私は以下のようになりエラーを得ました。私はオンラインですばやく調べましたが、1.6まではMessageFormatter.format(String,Object,Object)メソッドがSLF4Jに追加されていないようです。だから私の依存グラフのどこかに、SLF4Jの1.6 +バージョンに応じていくつかのコンポーネント(Spring、Camel、またはその他の可能性があります)があることは明らかでした。

私のビルドパスから1.5.11を削除し、それを1.6.2に置き換えて再構築しました。まだ同じエラーが発生しています。私は1.6.2 Jarのクラスファイルをチェックしていますが、それは確実にそのメソッドを含んでいます。私は自分のクラスパス設定、アイビー設定(私は依存関係管理のために使用しています)を確認しました。私はプロジェクト(Eclipse)をクリーンアップし、クリーンな状態から実行しようとしました。

私はこれが「Eclipseのもの」かもしれないと考え始めました。しかし、私はこれをWARにパッケージ化し、Tomcatにデプロイします。 Eclipseはそれとは関係ありません。

SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messagehandler' defined in ServletContext resource [/WEB-INF/spring-config.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.tms.relay.web.RelayWebIngestMessageHandler]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.format(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Lorg/slf4j/helpers/FormattingTuple

任意のアイデア?オンライン検索では明らかな(Jarの更新)以外の推奨事項は表示されていません。前もって感謝します!

+0

どのような実装を使用していますか? APIだけが...まあ、APIだけです。 –

+0

log4jバインディングの使用 – IAmYourFaja

答えて

0

Ran Ivyは冗長モードで解決します。私は、IvyにSLF4J(1.6.2)の最新版を排除させ、古いバージョン(1.5.11)を使用させていた自分の依存グラフの中にコンポーネントがあることが判明しました。

アイビーの初心者のためのストーリーモーダル:アイオワが冗長(-v)モードで動作していると感じられない場合は、

+0

WARをチェックして正しいJARファイルを見つけられたかどうかわかりません... – jtoberon

0

私は次のことを試してみた:

(1)WARを解凍し、その内容が何を期待していることを確認してください。特にSLF4J JARファイルを確認してください。

(2)WARを確認したら、TomcatがWARファイルを展開するディレクトリを削除し、Tomcatを再起動します。これによりTomcatはアプリケーションを再デプロイする必要があります。これは助けになることはまずありませんが、早い段階でそれを排除しています。 $ CATALINA_HOME/libに、共有/ libに、および/または共有/クラス -

(3)Tomcatの特別なディレクトリ内のJARの古いバージョンを確認してください。 Tomcatのクラスパスの詳細については、hereを参照してください。 Tomcat 7に関する情報は、特にherethereです。

あなたが現在いるOSを知ることは有益かもしれません。また、Tomcatはどのようにインストールされたのですか?それ以来カスタマイズしたもの(起動スクリプトなど)は?

+0

ええ、#1と#2はすでに除外されていますが、今すぐ#3にチェックインしています。私はSLF4JのインスタンスのTomcatディレクトリ全体を検索したが、何も見つけることができないと信じている。バージョン7.0.19を使用する - 私は探し続けて、私が見つけたものをあなたに知らせます。ありがとう! – IAmYourFaja

+0

あなたはどのOSを使用していますか?どうやって探してるの?私は答えにTomcat 7の詳細を追加しました。 – jtoberon