当 Java 应用程序运行时,如何避免 Eclipse 将测试类文件加载到类路径中?

Chr*_*ris 5 eclipse spring-tool-suite spring-boot

我正在使用STS开发一个基于 Spring Boot 的大型应用程序。我们有多个 Maven 项目和一个父项目来包含它们。每个项目都有自己的测试代码和配置文件。

当我在主入口类中运行 Spring Boot 应用程序时。依赖项目的test-classes文件夹会被加载到app运行的classpath中,这会导致spring bean定义的一些冲突。我必须配置每个项目,从“构建路径上的源文件夹”中删除 [src/test/java 和 src/test/resources]。

整个项目结构如下:

app-parent

子应用程序-1

子应用程序 2

子app-3

main-app [从这个项目运行]

main-app 项目依赖于 sub-app-1 ~ 3。

有什么方法可以让 STS (Eclipse) 运行 Java 应用程序,但不包括类路径中的 test-classes 文件夹?我真的想要源文件夹下的测试代码,但在应用程序运行时没有它们。

此外,我尝试打开[运行配置],但它只能向类路径添加更多文件。

在此处输入图片说明

div*_*gon 7

正如 @torsten-crass 所指出的,请验证Eclipse 中的“运行配置”选项卡Exclude test code中是否已勾选该选项。Classpath

这是屏幕截图。

在此输入图像描述