最近在IntelliJ中使用spring-boot-devtools启动了spring-boot,并花了几个小时试图弄清楚为什么IntelliJ不会接受我的更改并自动重启嵌入式tomcat。
此链接上的信息也没有帮助:https://dzone.com/articles/spring-boot-application-live-reload-hot-swap-with
最近在IntelliJ中使用spring-boot-devtools启动了spring-boot,并花了几个小时试图弄清楚为什么IntelliJ不会接受我的更改并自动重启嵌入式tomcat。
此链接上的信息也没有帮助:https://dzone.com/articles/spring-boot-application-live-reload-hot-swap-with
2条答案
按热度按时间toe950271#
为了让它工作,你需要:
1)在maven或gradle中启用devtools。在maven中,它看起来像:
字符串
2)在IntellijIDEA中:进入设置(code.exe +alt+s)->构建,执行,部署->编译器,选中“自动构建项目”
3)在IntellijIDEA中:按Ctrl+Shift+a,然后键入“注册表”并单击它。然后启用选项“compiler.automake.allow.when.app.running”。
4)重启intellijIDEA!!我失去了几个小时,因为这:/
它现在应该起作用了。
请注意:
-Dspring-boot.run.fork=false
来启用调试,则devtools将被禁用,因此它不应该在代码更改时重新启动。型
它与INTELLIJIDEA社区版工作,它的价值上限,因为许多答案说,它只适用于最终.
ztmd8pv52#
通过将项目名称从spring-boot更改为spring-boot-xxx(基本上是除了spring-boot之外的任何名称),该问题得到了解决。
如果您仔细阅读文档,以下是提到的内容:
在决定类路径上的条目是否应该在更改时触发重新启动时,DevTools会自动忽略名为spring-boot、spring-boot-devtools、spring-boot-autoconfigure、spring-boot-actuator和spring-boot-starter的项目。
使用Ctrl+F9构建项目会自动触发重新启动。如果您希望在保存类文件后立即自动触发,您可以按照问题中提供的热插拔链接进行操作。
Sping Boot 还有一个在特定文件更改时触发重启的选项,可以在application.properties中使用以下属性进行配置
spring.devtools.restart. restarter-file =
希望这能帮助某人保存时间。