spring Sping Boot Developer Tools自动重启在IntelliJ中不起作用

mpgws1up  于 2023-11-16  发布在  Spring
关注(0)|答案(2)|浏览(130)

最近在IntelliJ中使用spring-boot-devtools启动了spring-boot,并花了几个小时试图弄清楚为什么IntelliJ不会接受我的更改并自动重启嵌入式tomcat。
此链接上的信息也没有帮助:https://dzone.com/articles/spring-boot-application-live-reload-hot-swap-with

toe95027

toe950271#

为了让它工作,你需要:
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中:进入设置(code.exe +alt+s)->构建,执行,部署->编译器,选中“自动构建项目”
3)在IntellijIDEA中:按Ctrl+Shift+a,然后键入“注册表”并单击它。然后启用选项“compiler.automake.allow.when.app.running”。
4)重启intellijIDEA!!我失去了几个小时,因为这:/
它现在应该起作用了。
请注意:

  • 你不需要额外的路径或文件夹,这是工作的预期。
  • 如果您使用maven启动参数-Dspring-boot.run.fork=false来启用调试,则devtools将被禁用,因此它不应该在代码更改时重新启动。
  • 在yaml文件中,你需要对来自pom的参数使用引号。如果你不这样做,项目将在第一次运行时失败,然后重新启动。
spring:
  profiles:
    active: '@spring.profiles.active@'


它与INTELLIJIDEA社区版工作,它的价值上限,因为许多答案说,它只适用于最终.

ztmd8pv5

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 =
希望这能帮助某人保存时间。

相关问题