热部署的实现方法
每次修改代码都需要重启服务器,有没有给大家造成困扰啊?因为程序员的时间是宝贵的,重启服务器的时间连起来可绕地球一圈。哈哈,夸张了呢。但是每次修改一个地方,都需要重启,真的是让人脑瓜疼。那么有什么好的办法,可以使代码修改完成后,服务器自动重新部署啊。
下面就给大家讲SpringBoot是如何解决的。
首先需要在pom中导入相关的约束。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
基本上,加入配置就可以完成热部署了。但是使用IDEA的读者注意了。IDEA需要进行相关的配置。
- setting -> Compile -> Build project automatically --> 选中
如上图所示,自行勾选。 - CTRL + SHIFT + A --> 查找Registry --> 找到并勾选compiler.automake.allow.when.app.running
上面两步修改完,就可以成功的开启热部署了。提示:根据自身机器的配置,热部署时间可能因人而异。
如果等了许久,还是无法正常生效,就需要进行第三步的配置。 - 修改启动时的配置
如上,找到自己的项目,修改右边的下拉项。都改为:update classes and resources
最后启动项目试一试,热部署就大功告成了。
热部署加强版
以前是每次修改完,它不会自动部署,现在是每次修改完都要部署。也会让人烦啊。所以,就需要更加完美的解决方案了。
设置为手动触发重启。
首先,在resources文件夹下,创建一个名为trigger.txt的文件,里面随便写什么都行。比如我就当做版本控制。
version=2
光是这样,还不行,还要在application.properties进行配置。
spring.devtools.restart.trigger-file=trigger.txt
当配置完这个,自动重启的配置就会失效了。但是,你每次修改代码后,更改trigger.txt的配置就行了。比如,将version改为8。
项目就会重启了,这个类似触发器,当你修改了这个文件,就会触发重启,这样是不是更加人性化了呢?
星空之所以美丽,就是因为在无限的宇宙中,不管黑暗如何蔓延,都有星星的光芒去把它照亮。世界也是这样,有绝望的地方,就会有希望产生。