最近在IntelliJ中用spring-boot-devtools启动了spring-boot,并花了几个小时试图弄清楚为什么IntelliJ不接受我的更改并自动重启嵌入式tomcat。
这个链接上的信息也没有帮助:https://dzone.com/articles/spring-boot-application-live-reload-hot-swap-with
发布于 2020-05-11 11:00:21
为了使其正常工作,您需要:
1)在maven或gradle中启用devtools。在maven中,它看起来像这样:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope><!-- -->
<optional>true</optional>
</dependency>2)在IntellijIDEA:进入设置(ctrl +alt+s) ->构建,执行,部署->编译器,勾选“自动构建项目”
3)在注册表中:按ctrl+shift+a键,然后键入“IntellijIDEA”并单击它。然后启用"compiler.automake.allow.when.app.running“选项。
4)重启intellijIDEA !!我因为这个损失了几个小时:/
它现在应该可以工作了。
请注意:
-You不需要额外的路径或触发器文件就可以正常工作。
如果您使用maven启动参数-Dspring-boot.run.fork=false来启用调试,则-If将被禁用,因此它不会在代码更改时重新启动。
对yaml文件进行-in,需要对来自pom的参数使用引号。如果不这样做,项目将在第一次运行,然后在重新启动时失败。
spring:
profiles:
active: '@spring.profiles.active@'它与INTELLIJIDEA社区版一起工作,这是值得的,因为许多答案说它只能与终极版一起工作。
发布于 2018-12-01 18:10:47
通过将项目名称从spring-boot更改为spring-boot-xxx (基本上除了spring-boot以外的任何名称),解决了该问题。
如果您仔细阅读文档,则会看到下面提到的内容:
在决定类路径上的条目是否应在更改时触发重启时,DevTools会自动忽略名为spring-boot、spring-boot-devtools、spring-boot-autoconfigure、spring-boot-actuator和spring-boot-starter的项目。
使用Ctrl+F9构建项目会自动触发重新启动。如果您希望在保存类文件后立即自动触发,可以使用问题中提供的热插拔链接。
Spring Boot还具有在特定文件发生更改时触发重新启动的选项,可以使用以下属性在application.properties中配置该选项
触发spring.devtools.restart.Trigger-
=
希望这能帮助某人节省时间。
https://stackoverflow.com/questions/53569745
复制相似问题