springboot-devtools整合避坑

2021-01-17  本文已影响0人  nicohuhu
第一步:导入依赖

导入时可以放在maven父工程,也可以放在当前maven工程里。

       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

一旦被引用后启动类上会显示devtools的标识


图片.png

接着需要配置maven工程pom中的plugin

<build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <configuration>
          <fork>true</fork><!-- 如果没有该配置,热部署的devtools不生效 -->
        </configuration>
      </plugin>
    </plugins>
</build>
第二步:idea的配置

勾选自动构建这一项File -> Settings -> Compiler,勾选 Build Project automatically


图片.png

此时还不能生效,也就是修改类文件不会自动编译,所以继续配置idea ,按快捷键Ctrl+Shift+Alt+/,选择Registry...


图片.png

然后,勾选 compiler.automake.allow.when.app.running 即可


图片.png
哦,修正一下,修改过的在最上面显示 图片.png
第三步:启动项目测试

定义一个api方法

图片.png

发起请求后当前输出


图片.png

修改该类文件


图片.png

修改完此时idea控制台不会有任何反应,先清空控制台,然后ctrl+s操作一下,大概等5秒后,控制台输出了内容,看起来像idea帮我们自动重启了一遍项目


图片.png

好的我们再调用该接口,就输出我们修改后的内容了


图片.png

总结:每次修改都需要ctrl+s才能大概在5秒后触发自动编译,如果没有ctrl+s则不会触发,这个还是蛮合理的如果一直触发编译也消耗资源,这样需要时触发更灵活,这个触发时间应该是可以设置的具体自行百度,这里就不赘述了。

上一篇 下一篇

猜你喜欢

热点阅读