2012-04-29 10 views
7

内のファイルをスキャンし、私は春データJPAを使用していますし、それは奇妙だが、それは(展開中)にスキャンしようとテストファイル、:春データJPA - エラーが発生テストフォルダ

java.lang.ClassNotFoundException: org.junit.runner.RunWith 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523) 
... 
WARN : org.springframework.core.type.classreading.AnnotationAttributesReadingVisitor - Failed to classload  type while reading annotation metadata. This is a non-fatal error, but certain annotation metadata may be  unavailable. 

にClassNotFoundExceptionがありますテストの依存関係は、Mavenの "テスト"スコープにあるためです。

しかし私の質問は、なぜそれがスキャンのテストフォルダですか? (/ src/main/test)を実行します。次のように

コンテキストのコンフィギュレーションは次のとおりです。

<jpa:repositories base-package="com.domain.repository" /> 

あなたは私が間違って何をやっている私に言うことはできますか? .classpathの内容は次のとおりです。

<classpathentry kind="src" output="target/classes" path="src/main/java"/> 
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/> 
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/> 
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/> 
... 

本当にありがとうございます。

+2

私のプロジェクトでは、同じ問題がSpring 3.1.1で発生しています。あなたの周りにあなたの道を見つけましたか? – elias

答えて

0

春のバグ「疑似機能」のようだ:それはあなたのアプリケーションであっても、実行時に注釈のためのクラスを見つけることができないときを警告

https://jira.springsource.org/browse/SPR-9233

かなりOK。

2

But my question is, why it is scanning test folder? (/src/main/test).

The context configuration is as follows:

<jpa:repositories base-package="com.domain.repository" />

具体的には、私はSpringがこのフォルダをスキャンしているとは思わない - 結局あなたのソースフォルダです。展開されたパッケージ構造だけを見ているだけで、私の疑惑は問題の原因がそれと関係しているということです。

同じ問題が発生しましたが、Spring固有の問題ではなく、Eclipseでの誤ったデプロイメント設定が原因でした。 Eclipseをコンフィグレーションしてsrc/test/javaのターゲットデプロイメントパッケージにテストクラスをデプロイするようにしました。その結果、すべてのテストファイル(対応するパッケージ構造を持っていました)は、サーバの起動時に存在します。しかし、あなたが投稿した.classpathスニペットで判断すると、私はあなたが明示的にそれらを展開から除外しているのを見ます。

しかし、クラスファイルが展開に入り込む可能性のある他の方法もあります。テストクラスが実際にデプロイされたパッケージに存在しないことを確認できましたか?彼らはあなたが設定した他のプロセスによって同期されている可能性がありますか(FileSynchプラグインかもしれません)?

また、他の基本パッケージをスキャンするための設定を持つ他のSpringコンテキストファイルもありますか?

Eclipse構成に関する詳細と、テスト・サーバーにどのように配備して問題を解決するかを説明します。

関連する問題