文
章
目
录
章
目
录
在我们开发Java项目时经常会修改代码后然后重启服务器调试代码,如果没有配置热部署,每天重启的服务器就是不小的工作量,对于一个程序员而言,分秒必争,这如何能忍呢?下面潘老师教大家如何使用SpringBoot实现Maven聚合工程(微服务架构)的热部署。
第1步:添加依赖
在子项目(Module)的pom.xml
中新增如下依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency>
第2步:配置插件
在父项目的pom.xml
中添加spring-boot-maven-plugin
配置,具体如下:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.2.9.RELEASE</version> <configuration> <!--fork : 如果没有该项配置,肯定devtools不会起作用,即应用不会restart --> <fork>true</fork> <addResources>true</addResources> </configuration> </plugin> </plugins> </build>
注意:如果你的pom中已经有了spring-boot-maven-plugin插件配置,那就再加上configuration配置即可
第3步:勾选设置
打开Intellij IDEA
的File->Setting->Build,Execution,Deployment->Complier
,勾选Build Project automatically
和Compile independent modules in parallel
第4步:AutoMake
执行快捷键ctrl + shift + alt + /
,选择Registry
,勾上 Compiler autoMake allow when app running
注意:如果你的IDEA是老版本,可能还需勾上actionSystem.assertFocusAccessFromEdt,我这是默认勾上的
第5步:重启
重启IDEA即可
第6步:测试
启动子项目服务,启动成功后,清空Console
控制台,修改下页面代码,查看控制台是否打印自动重新部署信息,如果重新部署则OK
注意:如果你电脑比较卡,热部署会有点慢,需要耐心等待,太卡的话,也不建议使用热部署
补充说明
另外除了这种方式实现热部署,我们也可以安装JRebel
插件来实现更通用的Java代码热部署,在此就不在赘述。