springboot自带了devtools依赖包提供热部署功能,在eclipse中只要在项目的pom.xml文件中添加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
devtools的依赖。就可以起到热部署的效果,但是在idea中不行,因为eclipse中每次保存都会自动编译,而且如果运行时代码没有改变就不会再次编译,而idea每次都需要编译。
在一次实现idea的springboot项目实现热部署的功能过程中,按照网上的说法,将file->setting->Build,Excepiler,Deploment的compiler中的Build project automationally选项勾选。
然后ctrl+shift+atl+/快捷键,选择registry
将compiler.automake.allow.when.app.running 选项勾选,一般这个选项就是第一个选项。
网上的说法一般到这一步就成功了,但是在进行测试之后发现不行,热部署还是没有效果。研究后发现是devtools需要配置扫描的路径,在application.properties中加入配置spring.devtools.restart.additional-paths=src/main/*
= 号后面是你需要配置的路径。如果是yml形式的配置文件可以自行改写成yml的写法,如此热部署配置成功。