0

@Autowired私はSpringをMavenテスト内で動作させることに頭を悩ませてきました。IntelJ 内で JUnit テストを実行すると (Eclipse は試しませんでした)、動作します。しかし、mvn clean install を実行すると、JUnit テストは次のエラーで失敗します。

testApp(com.sample.spring.AppTest): 'com.sample.spring.AppTest' という名前の Bean の作成中にエラーが発生しました: 自動配線された依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: com.sample.spring.AppB com.sample.spring.AppTest.appB; です。ネストされた例外は org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [com.sample.spring.AppB] が依存関係に見つかりません: この依存関係のオートワイヤー候補として適格な少なくとも 1 つの Bean が必要です。依存関係アノテーション: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

この動作を一貫して示す自己完結型のサンプル プロジェクトを作成しました。Spring 3.1.1 を使用しています。誰かが同じ問題に直面し、それをクラックしたと確信しています。この問題に関するいくつかの指針を探しています。

4

1 に答える 1

1

これはビルド パスの問題です。

Eclipse で作業して、ContextConfiguration を次のように変更しました。

@ContextConfiguration(locations = "classpath:applicationContext.xml")

標準のEclipseランナーとmaven(maven testまたはmaven install)の両方で実行されます。

以下があることを確認してください。

ソース/メイン/Java

src/test/java および

ソース/テスト/リソース

ビルドパスでソース フォルダーとして宣言

于 2012-04-28T12:53:13.820 に答える