【问题标题】:Spring Boot 2.0 Gradle run and test in IntelliJSpring Boot 2.0 Gradle 在 IntelliJ 中运行和测试
【发布时间】:2018-06-21 06:57:14
【问题描述】:

我有一个使用 Gradle 作为构建系统的简单 Spring Boot 2 应用程序。 只要我使用 Gradle 运行和测试项目,一切都运行良好。

一个控制器类包含一个@Autowired bean

@Autowired
OAuth2AuthorizedClientService clientService

效果很好。

问题是,当我尝试通过右键单击应用程序类在 IntelliJ IDEA 中运行应用程序时,或者如果我启动我的测试套件,系统会抱怨缺少上述 bean。

只是引用 bean 而不声明它似乎是标准模式......

关于我可以在哪里寻找解决方案的任何提示?

【问题讨论】:

  • 能否提供样例项目示例?
  • 对不起,我试着举个例子……

标签: java spring-boot intellij-idea spring-security


【解决方案1】:

我认为问题原因是运行配置。 您可以使用 IntelliJ 运行 gradle bootRun。如下

截图

【讨论】:

  • 是的,这可行,但它不应该也作为简单的应用程序运行。我觉得,如果我通过 gradle 运行它,我会失去一些 intellij 功能。尤其是测试...
  • 我想我找到了问题,但还不能解决:这似乎是我的 IDE 配置错误 - 项目设置没有 Spring 方面...
  • 你能告诉我使用 bootRun 运行时会丢失哪些功能吗?
  • 用bootRun,只是感觉以后部署会遇到问题,IDE不会支持我尽可能好(它已经告诉我找不到bean ni编辑)。
  • 与测试不同。我在 ide 中失去了 junit 的运行、​​重新运行等功能......所以对我来说,这是值得修复的东西...... :-)
【解决方案2】:

所以,我首先认为问题是由于我的项目中的配置错误(它告诉我缺少 bean 定义)但它似乎是 IntelliJ 的错误配置,我还无法验证:

当您进入项目设置 (ALT+Shift+Ctrl+S) 时,会有一个构面部分。系统应该已经自动配置了一些 Spring 方面,但这些在我的系统上不可用。这似乎是我的问题的原因。

【讨论】:

    猜你喜欢
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 2014-08-13
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 2016-11-12
    相关资源
    最近更新 更多