Spring Boot boot运行连续构建

Dav*_*dge 10 gradle spring-boot

应该可以通过运行gradle build --continuousgradle bootRun按顺序连续构建(即热重新加载)Spring Boot应用程序.

我正在尝试修改gradle构建文件中的bootRun任务,以便它以连续模式调用构建任务,但我似乎无法向其添加参数.

bootRun.dependsOn build
Run Code Online (Sandbox Code Playgroud)

如何让该构建持续运行?

ToY*_*nos 11

这个问题和相应的答案非常有趣.

简短回答:您无法bootRun使用该continuous 选项运行任务(如果您的应用程序无限期保持活动状态)

但Stefan Crain 有一个黑客攻击:

要使其重新加载,您需要打开2个终端.

  1. gradle build --continuous

    • build --continuous将保持满足初始构建请求,直到停止
    • gradle build --continuous --quiet & 2>1 >/dev/null在后台运行,但你会错过重要的构建警告/错误. gradle --stop停止观看
  2. gradle bootRun

    • bootrun从类路径上的spring-boot-devtools开始,它将检测更改并重新启动应用程序.

我想这就是你要找的东西.

  • 仅供参考,“gradle build --continuous -xtest”会跳过“test”任务,我认为这是这个答案的期望。 (3认同)
  • 到 2022 年,你可以只执行 `gradle bootRun --continuous` (2认同)

Ali*_*oli 8

要在 Spring boot 中使用 Gradle 进行热重载,首先您需要依赖项(如果您使用 Gradle Kotlin),请将其放入 build.gradle 中

developmentOnly("org.springframework.boot:spring-boot-devtools")
Run Code Online (Sandbox Code Playgroud)

然后你必须打开终端并运行命令

gradle -t :bootJar
Run Code Online (Sandbox Code Playgroud)

然后打开一个新终端并运行命令

gradle bootRun
Run Code Online (Sandbox Code Playgroud)

这将解决热重载的问题。