2011-12-29 3 views
4

WebプロジェクトでJUnitとSpringを組み合わせようとしています。設定の問題:XMLスキーマ名前空間用のSpring NamespaceHandlerを見つけることができません[http://java.sun.com/xml/ns/javaee]

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration 
public class TwitterServiceTest { 
    @Resource 
    IRepository repository; 

しかし、テストの実行には、私は次のエラーを得たとき:this questionのおかげで、私はTestClassをに春の設定ファイルをロードすることに成功しました

Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [ http://java.sun.com/xml/ns/javaee]

私は問題があることかもしれないと推測しますライブラリファイルはクラスパスにありません。現在私はSysdeo Eclipse Tomcat pluginDevLoaderを使用して読み込みジョブを実行します(M2_REPOからクラスパスにjarファイルを読み込みます)。

このプロジェクトは多くのライブラリに依存しています。このエラーを修正する方法はありますか? ご協力いただければ幸いです。

+1

なぜあなたの設定ファイルに 'javaee'名前空間がありますか?単体テストでは有益なことではありません。 – skaffman

+0

@skaffman:はい、そうです、私は間違ったファイルを入れました。 –

答えて

3

私は愚かな間違いを犯しました。これは、 "web.xml"をスプリング構成コンテキストファイルとして使用しています。 SpringJUnit4ClassRunnerはそれを春のコンテキストファイルとして解析して失敗します。

右のコンテキストファイルを含めると、アプリケーションはすぐに動作します。

+1

私もそれをやった!あなたのコメントをありがとう、私の問題を解決しました。 –

+1

今後の読者のために:@ContextConfigurationの場所は、定義のSpring .xmlファイルを対象にする必要があります。 – mwoodman

+0

どういう意味ですか?正しいコンテキストファイルとは何ですか? – Siddharth

関連する問題