以下是我的POM的相关部分
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.13.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>runtime</scope>
</dependency>
</dependencies>如你所见,我已经安装了devtools。它适用于2.1.13.RELEASE版本。当我更改Java类并按Intellij中的Build时,服务器将按预期的方式重新启动新的更改。
但是,当我将spring引导版本升级到2.2.0.RELEASE或2.2.5.RELEASE时,自动重新启动将停止工作。当我进行更改并构建项目时,什么都不会发生。我检查文档,根据这些文档,添加devtools依赖应该足够了。
参考文档:https://docs.spring.io/spring-boot/docs/2.2.0.RELEASE/reference/pdf/spring-boot-reference.pdf (第37页)
更新1:我为任何人创建了一个演示应用程序,以查看它是否适用于他们。下面是存储库。尝试使用mvn spring-boot:run运行它,并在运行时编辑BookApi.java,重新构建,它应该会触发实时重启。
更新2:下面是启动应用程序的日志:https://gist.github.com/lokeshh/d111c1429323ddf6e4a8d020526ceccb
更新3:我尝试了STS 4来测试这个问题是否与我的IntelliJ有关。我发现在STS 4中也存在同样的问题。自动重新加载是在2.1.13保存下工作的,而不是2.2.0。
更新4:删除了完整的.m2存储库,仍然存在相同的问题。下面是启用devtools跟踪的追踪日志日志
发布于 2020-04-20 10:05:35
对我来说也一样,就像其他人回答你一样。
,但是,我这里有你的解决方案。有时候可能会发生。执行下面提到的步骤。
由于您已经在中添加了pom.xml依赖项,所以让我们转到下一步。
Next
在intellij中确认设置。。
=> 构建项目自动
文件->设置->生成、执行、部署->编译器-> check this Build project automatically

然后,检查Intellij注册表
按SHIFT+CTRL+A (Win/*nix)或Command+SHIFT+A (Mac)打开弹出窗口,键入registry。

查找并启用此选项compiler.automake.allow.when.app.running

完成了。现在,应该启用热交换和静态文件自动重新加载。
如果未重新加载静态文件,请按CTRL+F9强制重新加载。
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-devtools-restart
发布于 2020-04-16 19:54:58
对于这两个版本,“自动重新启动”都适用于我的安装程序上的代码。尽管我使用的是STS-4-4.6.0版本。
但是有一件事我注意到它未能刷新实时数据警告,所以我在pom.xml中添加了下面的代码,并且警告也被删除了。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>注意:无论是否在STS中,它都适用于我,但是您仍然可以在Intellij中尝试这一点,这可能导致了一些问题,因为LiveReloadServer是devtools实际使用的自动加载程序。
这是在liveReloadServer启动时在日志中打印的: LiveReload服务器正在端口35729上运行。
发布于 2020-04-19 09:28:39
该代码用于2.1.13.RELEASE和2.2.0。working 在STS 4的macOS catalina上运行。
注:来自Spring的spring文档-启动-devtools

自动重新启动在IDE和IDE之间各不相同。
用红色标记的是Eclipse和Intellij。
重新加载和重新启动是有区别的。

自动重新启动正在进行。
每次我都在运行你的申请。我收到警告了。

如何解决这个问题:
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies>但你的应用程序还是会重新启动。
使用2.1.13运行的应用程序的屏幕截图:
"abcd“作为基字符串

我把它改成了abc:

重新启动状态(用于2.1.13 Restart ):

重新启动状态(用于2.2.0.RELEASE):

https://stackoverflow.com/questions/60526897
复制相似问题