IntelliJ IDEA中SpringBoot程序如何实现热启动(修改程序无须重启)?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38455201/article/details/80078588

在使用IDEA做SpringBoot的web项目的时候,在每一次修改了java文件或者是resource的时候,都必须去重启一下项目,这样的话浪费了很多的时间(主要是心理感觉非常烦),那么,这个时候,就需要去实现程序的热部署,能够在修改了页面的时候能够立马刷新显现出新的效果。

第一步:添加热部署的maven依赖

        <!--spring-boot-devtools 热启动依赖包-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
            <scope>true</scope>
        </dependency>

第二步:添加maven插件(一般情况下假如用maven管理建立springboot程序的时候,就会自带这个插件的,所以你可以对比一下是否有或者一样,不一样进行修改)。

           <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                  <!--fork :  如果没有该项配置,肯定devtools不会起作用,即应用不会restart -->  
                    <fork>true</fork>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

第三步:修改IDEA的设置File--->Other Settings--->Default Settings----->Compiler--->Bulid project automatically打上勾,就按照下图的勾去选择就行了(勾选完毕之后,一定记得点击Apply和Ok按钮使你的选择生效)。

第四步:打开IDEA,组合键Ctrl+Shift+Alt+/,弹出下面界面,选择Registry

或者是按住组合键Ctrl+Shift+A,弹出下面界面,输入Registry,选择第一个Registry

第五步:选择Registry,勾选complier.automake.allow.when.app.running

第六步:由于在开发过程当中经常会修改html、js和css,但是浏览器是有缓存的,我们在开发过程当中可以关闭浏览器的缓存功能,一般是F12唤出开发者工具,然后勾选Disable cache

第七步:在springboot的application.properties文件当中添加下面语句

spring.thymeleaf.cache=false

到此,赶紧的去启动程序,修改,测试吧。

更新如下(2018年9月29日16:00:43):按照上面的步骤,发现还是无法实现热启动,然后研究了半天,发现,第三步,我只是设置了default setting当中的Build project automatically,setting里面没有设置,所以无法做到。需要把setting当中的Build project automatically也去设置一遍。

在application.properties还有下面两行代码:

#配置热部署
spring.devtools.restart.enabled= true
spring.devtools.restart.exclude= WEB-INF/**

如下图

我在开发项目当中,我只是想让页面修改的时候无需重启就更新页面,可以取消热启动,这样页面更新不会重启也能实时更新。

可以在main方法当中加入下面这行代码:

System.setProperty("spring.devtools.restart.enabled", "false");

猜你喜欢

转载自blog.csdn.net/qq_38455201/article/details/80078588
今日推荐