前言

通常我们在进行Web应用开发或微服务开发时,改了代码就需要重新启动项目进行编译,有时候会影响我们的开发效率,特别是在开发微服务项目的时候,多个项目重启真的是有点拖慢开发效率,开发一上午,一半时间都是在重启项目。

在springBoot中提供了一个热部署的jar包,只要引入这个jar包,并对idea进行简单的配置就可以使用。

两种功能如下 :

  • 代码有任何改变就会重新编译项目。
  • 手动编译,当写完之后点击编译(比重启微快)

怎么选择:

如果你在开发新功能的时候,把项目停止再进行的开发,开发完成后只要进行微调,推荐使用第一种。

如果你是习惯后台挂着多个服务,开发完新功能后再统一进行重启测试,推荐使用第二种。

个人还是比较喜欢第一种,毕竟是全自动的嘛

注意:
有部分人反应热更新有时候会没有效果,大家自行取舍,但我自己用起来觉得还是挺爽的。

第一种配置

第一种配置也就是上述所说的:代码有任何改变就会重新编译项目。
具体配置步骤如下:

  1. 导入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>
  1. 修改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>
  1. 在idea中配置
    在配置中勾上这两个√
  2. idea对某个java文件单独从新编译 idea项目重新编译_idea对某个java文件单独从新编译

  3. 配置IDEA 运行程中,允许自动编译
    操作: ctrl + shift + alt + /,选择Registry,勾选如下配置
  4. idea对某个java文件单独从新编译 idea项目重新编译_idea对某个java文件单独从新编译_02

  5. 重启IDEA就可以生效啦
  6. idea对某个java文件单独从新编译 idea项目重新编译_微服务_03

第二种配置

第二种配置也就是上述所说的:手动编译,当写完之后点击编译(比重启微快)
具体配置步骤如下:

  1. 导入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>
  1. 修改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>
  1. 在idea中配置

打开项目配置

idea对某个java文件单独从新编译 idea项目重新编译_微服务_04


选择当前项目

idea对某个java文件单独从新编译 idea项目重新编译_spring_05


找到 Running Application Update Policies---->On Update action 选择 Update classes and resources

idea对某个java文件单独从新编译 idea项目重新编译_重启_06


按一下左下角的 Run 栏目中的 Update xxx application 才会触发热切换。也可以用快捷键 ctrl+F10

idea对某个java文件单独从新编译 idea项目重新编译_spring_07