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

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

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

        
        
            org.springframework.boot
            spring-boot-devtools
            true
            true
        

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

           
                org.springframework.boot
                spring-boot-maven-plugin
                
                    
                    true
                
                
                    
                        
                            repackage
                        
                    
                
            

 

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

IntelliJ IDEA中SpringBoot程序如何实现热启动(修改程序无须重启)?_第1张图片

IntelliJ IDEA中SpringBoot程序如何实现热启动(修改程序无须重启)?_第2张图片

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

IntelliJ IDEA中SpringBoot程序如何实现热启动(修改程序无须重启)?_第3张图片

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

IntelliJ IDEA中SpringBoot程序如何实现热启动(修改程序无须重启)?_第4张图片

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

IntelliJ IDEA中SpringBoot程序如何实现热启动(修改程序无须重启)?_第5张图片

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

IntelliJ IDEA中SpringBoot程序如何实现热启动(修改程序无须重启)?_第6张图片

第七步:在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/**

如下图

IntelliJ IDEA中SpringBoot程序如何实现热启动(修改程序无须重启)?_第7张图片

IntelliJ IDEA中SpringBoot程序如何实现热启动(修改程序无须重启)?_第8张图片

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

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

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

 

你可能感兴趣的:(SpringBoot)