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

标签 java spring spring-data spring-data-jpa

我正在使用 Spring Data 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"/>
...

非常感谢您对此的帮助。

最佳答案

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 正在扫描这个文件夹——毕竟它是你的源文件夹。它只查看已部署的包结构,我怀疑问题的原因与此有关。

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

不过,还有其他方法可以让类文件潜入您的部署中。您是否能够验证部署包中实际上不存在测试类?它们是否会被您设置的其他进程同步(可能是 FileSynch 插件)?

此外,您是否有任何其他带有配置的 Spring 上下文文件来扫描其他基础包?

您可以添加更多关于 Eclipse 配置的详细信息以及如何部署到测试服务器以帮助解决问题。

关于java - Spring Data Jpa - 扫描测试文件夹中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10375287/

相关文章:

java - 从导入的电子表格数据的字符串数组中获取特定 'elements' 的最简单方法?

spring - 使用 Spring Sleuth Zipkin 配置基本身份验证

java - 在运行时以编程方式定义和删除 Spring Boot/Spring JPA 数据源?

java - RestRepositoryResource 的自动配置

java - mongo查询用于选择集合中所有唯一ID的计数

java - Spring :PESSIMISTIC_READ/WRITE 不起作用

java - 如何优化此代码(计数排序)

java - 在 JDBC 中使用 CachedRowSet 时出现 "cannot commit when autocommit is enabled"异常

Java 作业,迷失在数学中

java - 在 Java Spring 中获取资源 URL 路径