Spring 当 运行 来自 eclipse+gradle 时,引导不正确地加载测试配置

Spring Boot incorrectly loads test configuration when running from eclipse+gradle

当我 运行 Spring 从 Eclipse (STS) 以 'Java Application' 或 'Spring Boot App' 启动应用程序时,应用程序失败,因为它试图加载配置 (@Configuration)来自 测试类路径.

问题是它适用于基于 Maven 的构建,但不适用于 gradle。

我看到的唯一解决方法是将测试包重命名为其他名称以在类路径扫描中隐藏它。

总的来说,问题是——如何让它正常工作?我假设 SpringToolSuite 团队每天都会遇到这个问题,或者我做错了什么。

这是一个测试项目,当作为 maven 导入时可以工作,但当作为 gradle 导入时失败:https://github.com/mabn/spring-boot-integration-test

我正在使用 STS 3.7.1

The thing is that it works for maven based builds correctly, but not for gradle.

是的,不幸的是就是这样。 Gradle 根本无法正确处理配置 eclipse 的运行时类路径。 Gradle 自己的新 BuildShip eclipse 插件也是如此。

查看我最近提出的这个问题: https://bugs.eclipse.org/bugs/show_bug.cgi?id=482315

您发现的已解决错误确实已解决,但它仅涉及 maven/m2e 情况,实际上是可以修复的(m2e 对 "Run As >> Java Project" 进行了此纠正,我们对 "Run As >> Spring Boot App").但是,该修复是特定于 Maven 的,因为 gradle 案例在解决此 Gradle 工具-api 问题单之前无法真正修复:

https://issues.gradle.org/browse/GRADLE-1777

我不得不为此引入配置文件分离。 有所有的测试标记 @ActiveProfiles("srv-test")@Profile({"local", "docker"})

的主要配置