eclipse - 从 eclipse+gradle 运行时,Spring Boot 错误地加载了测试配置

标签 eclipse gradle spring-boot spring-tool-suite

当我从 Eclipse (STS) 作为“Java 应用程序”或“Spring Boot App”运行 Spring Boot 应用程序时,该应用程序失败,因为它尝试从 加载配置 (@Configuration) |测试类路径 .

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

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

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

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

  • 这是一个 year-old STS issue - 它仍然相关吗?
  • Here's another one marked as resolved
  • Similar question about maven projects

  • 我正在使用 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 应用程序”)。但是,该修复是特定于 Maven 的,因为在解决此 Gradle tooling-api 问题票证之前,gradle 案例无法真正修复:

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

    关于eclipse - 从 eclipse+gradle 运行时,Spring Boot 错误地加载了测试配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33817251/

    相关文章:

    gradle - 这个 "all*.exclude"在 Gradle 传递依赖中意味着什么?

    java - Spring Boot 应用程序 Heroku PostgreSQL 错误 : GenerationTarget encountered exception accepting command : Error executing DDL . .. 通过 JDBC 语句

    java - OAuth2 Spring boot 缺少必需的“用户名

    eclipse - 在 SSL 重定向后使用 Eclipse 更新站点

    java - 我想我已经使用 Gradle 将 Artifact 的一个版本上传到 MavenCentral,但搜索功能看不到它

    java - 如何在自己的 API 中给出警告信息?

    eclipse - 使用 Eclipse 运行时出现 rJava 错误

    android - 添加编译 'com.google.android.gms:play-services:11.0.1'时出错

    android - 无法找到在 Windows 上执行 "gradle assembleRelease"的位置

    spring-boot - DateTimeFormatter.ISO_OFFSET_DATE_TIME 未按预期工作