首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Data Jpa -扫描测试文件夹中的文件

Spring Data Jpa -扫描测试文件夹中的文件
EN

Stack Overflow用户
提问于 2012-04-30 03:34:34
回答 2查看 5.1K关注 0票数 7

我使用的是Spring Data JPA,这很奇怪,但它试图扫描(在部署期间)测试文件,这会导致错误:

代码语言:javascript
复制
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.

类不成立异常是因为测试依赖项在maven的" test“作用域中。

但我的问题是,它为什么要扫描测试文件夹?(/src/main/ test )。

上下文配置如下:

代码语言:javascript
复制
 <jpa:repositories base-package="com.domain.repository" />

你能告诉我我做错了什么吗?我的.classpath内容如下:

代码语言:javascript
复制
<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"/>
...

我真的很感谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2012-05-31 16:31:43

我的问题是,为什么要扫描测试文件夹?(/src/

/)

上下文配置如下:

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

准确地说,我不认为Spring正在扫描这个文件夹--它毕竟是你的源文件夹。它只查看已部署的包结构,我怀疑问题的原因与此有关。

我遇到了同样的问题,但它是由Eclipse中的错误部署配置引起的,而不是特定于Spring的东西。我将Eclipse配置为将src/test/java中的测试类部署到目标部署包中,因此所有测试文件(当然有相应的包结构)在我启动服务器时都存在。但是,从您发布的.classpath代码片段来看,我看到您明确地将它们排除在部署之外。

尽管如此,类文件还可以通过其他方式进入您的部署。您是否能够验证测试类实际上不存在于已部署的包中?它们会被你设置的其他进程(可能是FileSynch插件)同步吗?

另外,你有没有其他的Spring上下文文件,带有扫描其他基本包的配置?

您可以添加有关Eclipse配置以及如何部署到测试服务器的更多细节,以帮助解决此问题。

票数 2
EN

Stack Overflow用户

发布于 2012-05-15 03:02:41

这似乎是Spring中的一个bug“伪特性”:

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

当它在运行时找不到批注的类时,它会警告您,即使您的应用程序相当正常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10375287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档