IDEA2021.2之后的版本——开发环境热部署
开发环境热部署
- 在实际的项目开发调试过程中会频繁地修改后台类文件,导致需要重新编译、重新启动,整个过程非常麻烦,影响开发效率。
- Spring Boot提供了spring-boot-devtools组件,使得
无须手动重启SpringBoot应用即可重新编译、启动项目
,大大缩短编译启动的时间。- devtools会
监听classpath下的文件变动,触发Restart类加载器重新加载该类
,从而实现类文件和属性文件的热部署。- 并不是所有的更改都需要重启应用(如静态资源、视图模板),可以通过设置spring.devtools.restart.exclude属性来指定一些文件或目录的修改不用重启应用
1. 在pom.xml配置文件中添加dev-tools依赖。
使用optional=true表示依赖不会传递,即该项目依赖devtools;其他项目如果引入此项目生成的JAR包,则不会包含devtools
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
2. 在application.properties中配置devtools。
设置热部署生效,重启目录,和内容修改不重启目录(有些静态的资源的修改没有必要重新部署)
#热部署生效
spring.devtools.restart.enabled=true
#设置重启目录
spring.devtools.restart.additional-paths=src/main/java
#设置Classpath目录下的WEB-INF文件夹内容修改不重启
spring.devtools.restart.exclude=static/**
3. IDEA设置
打开Settings页面,在左边的菜单栏依次找到
- Build,Execution,Deployment→Compile,勾选Build project automatically
- 按
Ctrl+Shift+Alt+/
快捷键调出Maintenance页面,单击Registry,勾选compiler.automake.allow.when.app.running复选框。(在IntelliJ IDEA中的注册表中开启compiler.automake.allow.when.app.running选项,此选项在IntelliJ IDEA 2021.2之后的版本迁移到高级设置中)
做完这两步配置之后,若开发者再次在lntelliJIDEA中修改代码,则项目会自动重启。
IntelliJ IDEA 2021.2之后的版本