目录
热部署
手动启动热部署
自动启动热部署
热部署范围布置
关闭热部署
热部署
能学到spring boot实用开发篇的相信都已经对IDEA和maven了如指掌了,我就基于这些前置知识来说一下热部署,其实也很简单。
手动启动热部署
首先可以在你的pom.xml文件中的<dependencys></dependencys>中加入一个坐标,因为springboot的特性,常用的坐标都是不用写版本号的。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
下面那个option你别忽略,我就是因为没加找了半天BUG。
当然就设置一个坐标肯定是不行的了,要不然服务器怎么知道什么时候热部署项目呢。
还需要我们手动的点击一个按钮,这个时候就会执行热部署了。
就是最上面的那个按钮了,Ctrl+F9
关于热部署,这是热部署的工作:
重启:自定义开发代码,包含类、页面、配置文件等,加载位置restart类加载器
重载:jar包,加载位置base类加载器
可能有人就觉得疑惑了,那我热部署的意义在哪呢?
那如果能自动的重新刷新项目代码到服务器里面,你是否还会这样想呢?
自动启动热部署
点击Settings,找到下面这个目录:
勾选这个按钮,当然这也是第一步,还没有结束,还有一步
在你的主界面按下:Ctrl+alt+shift+/ 这个快捷键
点击第一个
然后出现这个页面
勾选我光标所在的那个value,然后直接close即可,如果找不到的话,你可以直接在该窗口上打相对应的字段IEDA就会自动帮你定位。
这个时候,你的热部署算是自动部署成功了,不过前提是你别忘了在pom中导入坐标。
那有人可能就有问题了,那我正修改项目呢,服务器直接给我热部署了怎么办?
IEDA帮你想到了,只要你的光标离开IDEA5秒钟后,就会启动热部署了。
热部署范围布置
我们写过项目的都应该知道,前端的页面代码,我们是不需要重新部署项目它就会实时刷新的。前端的页面所在的目录:
/resources
/static
/public
/templates
这些也是热部署默认不加载的文件夹。
那你如果想要某些配置文件或者java代码也不参与热部署该怎么做呢?yml配置文件可以做到。
spring
devtools:
restart:
exclude: 文件名或目录
这就是 自定义排除热部署目录或文件。
关闭热部署
也是在yml中设置
spring
devtools:
restart:
enabled: false
这样做的好处就是你可以随时随地的启动或关闭热部署,而不用每次去设置一些乱七八糟的东西。
当然配置文件也有低级高级之分,你也可以在更高级的配置文件中去覆盖其他人的设置。
好了,热部署基本就这些东东,只要你按照我说的这样做,不会失败的,不会像其他那些博客只说一部分。