Mac idea2020.1 中springboot + devtools 代码变动导致热部署不起作用怎么办
在Mac上使用Spring Boot进行开发时,使用DevTools可以实现自动重启和热部署功能,以提高开发效率。但是在开发中,有时候会发现修改代码后没有生效,这时需要采取一些步骤来解决这个问题。
1. 确认是否开启了DevTools
首先,我们需要确认是否正确开启了DevTools。在pom.xml文件中,应该已经包含了spring-boot-devtools依赖,如下所示。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
然后,在IDEA的设置中,需要启用自动重启和热部署功能,如下所示。
File -> Settings -> Build, Execution, Deployment -> Compiler -> Build Project Automatically
File -> Settings -> Build, Execution, Deployment -> Compiler -> Build Project Automatically
如果以上都已确认无误,但是热部署不起作用,那么需要进行以下步骤。
2. 关闭IDEA的自动编译功能
有时候IDEA的自动编译功能会导致热部署不起作用,这时我们需要在IDEA的设置中将自动编译功能关闭,如下所示。
File -> Settings -> Build, Execution, Deployment -> Compiler -> Uncheck "Build project automatically"
此时,我们需要手动执行构建操作,可以使用快捷键Command+F9或点击IDEA界面上的Build -> Build Project。
3. 使用快捷键触发重启
如果以上两步都无法解决问题,那么我们可以尝试使用快捷键来触发重启。在Mac上,使用Command+Shift+Option+/快捷键可以打开IDEA的"Registry",在该界面中搜索到" compiler.automake.allow.when.app.running"这个选项,将其勾选,然后使用快捷键Command+Shift+F9来重启应用程序。
总结
以上就是解决Mac上使用Spring Boot和DevTools进行开发时热部署不起作用的方法。其中,需要注意的是,如果热部署还是不起作用,检查一下是否修改的文件在DevTools监控范围内,如果没有在监控范围内,需要手动重启应用程序才能生效。
