目录
1. 1 什么是热部署
对热部署的理解: 当我们在对源码进行修改时,在不想重新启动项目的同时也能在网页上直接能看到项目被修改后的效果。
好处:
1:在开发的时候,修改代码后不需要重启应用就能看到效果,大大提升开发效率;
2:是生产上运行的程序,可以在不停止运行的情况下进行升级,不影响用户使用。
1. 2手动启动热部署
首先在pom.xml文件里添加相关依赖:
<!-- 启动热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
激活热部署(启动热部署):
再使用快捷键Ctrl+F9或者如下图所示
1. 3 自动启动热部署
首先点击“File”==>Settings==>Build,Exection,Deployment==>Build project automatically(勾选)
按Ctrl+Alt+shift+/ 这个快捷键,选择Registry
勾选compiler.automake.allow.when.app.running
热部署激活方式:
idea失去焦点5秒钟后会启动热部署。
1. 4 热部署范围配置
/META-INF/maven |
/META-INF/resources |
/resources |
/static |
/public |
/templates |
自定义不参加重启的文件夹或者文件(application.yml):
#不参与热部署的文件夹或者文件
devtools:
restart:
exclude: static/**,public/**,config/application.yml
1. 5关闭热部署功能
热部署只在开发环境时有效:
在application.yml文件里写
#不参与热部署的文件夹或者文件
devtools:
restart:
exclude: static/**,public/**,config/application.yml
enabled: false #true:开启,false:关闭
//禁用热部署
//设置高优先级属性禁用热部署
public static void main(String[ ] args) {
system.setProperty ( "spring.devtools.restart.enabled" , "false" ) ;
SpringApplication.run (SSMPApplication.class);
}
1. 6 项目热部署与项目重启的区别
项目热部署:
项目会加载自定义开发代码,包含类、页面、配置文件等,加载位置restart类加载器
不会重载(ReLoad) : jar包,加载位置base类加载器
项目重启(Restart):
项目会加载自定义开发代码,包含类、页面、配置文件等,加载位置restart类加载器
重载(ReLoad) : jar包,加载位置base类加载器