应该可以通过按顺序运行gradle build --continuous
和gradle bootRun
来持续构建Spring Boot应用程序(即热重载(。
我正在尝试修改 gradle 构建文件中的 bootRun 任务,以便它以连续模式调用构建任务,但我似乎无法向其添加参数。
bootRun.dependsOn build
如何让该构建持续运行?
这个问题和相应的答案非常有趣。
简短回答:您不能使用continuous
选项运行bootRun
任务(如果您的应用程序无限期保持活动状态(
但是Stefan Crain有一个黑客:
要让它实时重新加载,您需要打开 2 个终端。
gradle build --continuous
- build --Continuous 将一直满足初始构建请求,直到停止
gradle build --continuous --quiet & 2>1 >/dev/null
在后台运行,但你会错过重要的构建警告/错误。gradle --stop
停止观看。
gradle bootRun
- bootrun 从类路径上的 spring-boot-devtools 开始,它将检测更改并重新启动应用程序。
我认为这就是你要找的。
要首先在 Spring 引导中使用 Gradle 进行热重载,您需要依赖(如果您使用的是 Gradle Kotlin( 把它放到build.gradle中
developmentOnly("org.springframework.boot:spring-boot-devtools")
然后你必须打开终端并运行命令
gradle -t :bootJar
,然后打开一个新终端并运行命令
gradle bootRun
这将解决热重载的问题。
Toyonos 解决方案的另一个选项似乎对我有用,在两个单独的终端中运行命令以维护构建警告消息:
- gradle bootRun
- 格拉德尔构建 --连续