前言
通常我们在进行Web应用开发或微服务开发时,改了代码就需要重新启动项目进行编译,有时候会影响我们的开发效率,特别是在开发微服务项目的时候,多个项目重启真的是有点拖慢开发效率,开发一上午,一半时间都是在重启项目。
在springBoot中提供了一个热部署的jar包,只要引入这个jar包,并对idea进行简单的配置就可以使用。
两种功能如下 :
- 代码有任何改变就会重新编译项目。
- 手动编译,当写完之后点击编译(比重启微快)
怎么选择:
如果你在开发新功能的时候,把项目停止再进行的开发,开发完成后只要进行微调,推荐使用第一种。
如果你是习惯后台挂着多个服务,开发完新功能后再统一进行重启测试,推荐使用第二种。
个人还是比较喜欢第一种,毕竟是全自动的嘛
注意:
有部分人反应热更新有时候会没有效果,大家自行取舍,但我自己用起来觉得还是挺爽的。
第一种配置
第一种配置也就是上述所说的:代码有任何改变就会重新编译项目。
具体配置步骤如下:
- 导入jar包
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
- 修改pom文件
如果是微服务需要配置在顶级项目中
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 不加该配置可能不会生效 -->
<configuration>
<fork>true</fork>
<addResources>true</addResources>
</configuration>
</plugin>
</plugins>
</build>
- 在idea中配置
在配置中勾上这两个√ - 配置IDEA 运行程中,允许自动编译
操作: ctrl + shift + alt + /,选择Registry,勾选如下配置 - 重启IDEA就可以生效啦
第二种配置
第二种配置也就是上述所说的:手动编译,当写完之后点击编译(比重启微快)
具体配置步骤如下:
- 导入jar包
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
- 修改pom文件
如果是微服务需要配置在顶级项目中
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 不加该配置可能不会生效 -->
<configuration>
<fork>true</fork>
<addResources>true</addResources>
</configuration>
</plugin>
</plugins>
</build>
- 在idea中配置
打开项目配置
选择当前项目
找到 Running Application Update Policies---->On Update action 选择 Update classes and resources
按一下左下角的 Run 栏目中的 Update xxx application 才会触发热切换。也可以用快捷键 ctrl+F10