【问题标题】:how to debug spring boot gradle projects faster in intellij idea?如何在 intellij idea 中更快地调试 Spring Boot gradle 项目?
【发布时间】:2017-03-17 17:22:37
【问题描述】:

当我在intellij idea中开发spring boot gradle项目时,如果我想更改一些代码并重新启动项目,我必须点击Make Project菜单项,这将触发一个gradle构建。如果 gradle 守护进程死了,它会首先启动,这是一个不正常的过程。

在 Spring Tool Suite 中,一切都那么简单,只需 Ctrl S 并且 STS 将在没有漫长的 gradle 构建的情况下立即重新启动。那么有什么办法可以让intellij idea重启更快呢?

我知道如果 gradle 守护进程还活着,在 intellij idea 中构建的 gradle 并不是很慢并且可以接受。但是在我的电脑上,这个守护进程通常只能活几个小时。当我更改一些代码并想查看效果时,守护进程死了。我每次都要启动守护进程!有没有其他方法可以让恶魔活得更久?

如果有任何有用的提示,非常感谢!

【问题讨论】:

  • 您可能会看看这是否有帮助。这有点过时了,但很确定它仍然适用:greggbolinger.com/…
  • 已回复here
  • 感谢@Gregg 和 CrazyCoder 的帮助。这些都是好主意,我会试一试。
  • 使用集成测试而不是完整的项目调试,如果项目太大考虑拆分。微服务方法适用于大型项目,并且为此目的还有一个名为 JRebel 的商业产品。但我更喜欢集成测试。

标签: spring intellij-idea gradle spring-boot


【解决方案1】:

好吧,感谢@Gregg 和@CrazyCoder 的评论,我找到了一些有用的链接:

Developing/Debugging a Gradle-built Spring Boot app in IntelliJ IDEA

我不小心在idea中启用了delegate to gradle选项,这将触发gradle build而不是idea的build,这比gradle的要快。所以禁用 delegate to gradle 选项 是一种选择。

从另一篇文章中,我了解到在 gradle 中使用持续构建:打开终端并运行 gradle assemble --continuous,当文件更改时(例如保存文件或散焦窗口),gradle 将自动编译文件。然后使用gradle bootRun 或从idea 中的任务运行spring boot 应用程序,一切正常。但是这种方式会启动两个 gradle,所以 ram 使用量更大。

更新:

我找到了另一种自动编译的方法。首先,启用build project automatically选项,然后使用ctrl shift a并输入registry打开一个对话框,然后启用compiler.automake.allow.when.app.running 选项。最后项目会自动编译,spring boot也会自动重启。

【讨论】:

    猜你喜欢
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2020-12-31
    • 2018-01-08
    • 1970-01-01
    • 2017-06-03
    相关资源
    最近更新 更多