當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
idea修改代码后不重启项目_使用DevTool实现SpringBoot项目热部署
生活随笔
收集整理的這篇文章主要介紹了
idea修改代码后不重启项目_使用DevTool实现SpringBoot项目热部署
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
最近在開發的時候,每次改動代碼都需要啟動項目,因為有的時候改動的服務比較多,所以重啟的次數也就比較多了,想著每次重啟等待也挺麻煩的,就打算使用DevTools工具實現項目的熱部署
熱部署是什么
大家都知道在項目開發過程中,常常會改動頁面數據或者修改數據結構,為了顯示改動效果,往往需要重啟應用查看改變效果,其實就是重新編譯生成了新的Class文件,這個文件里記錄著和代碼等對應的各種信息,然后Class文件將被虛擬機的ClassLoader加載。
而熱部署正是利用了這個特點,它監聽到如果有Class文件改動了,就會創建一個新的ClaassLoader進行加載該文件,經過一系列的過程,最終將結果呈現在我們眼前
類加載機制
Java中的類經過編譯器可以把代碼編譯為存儲字節碼的Class文件,該Class文件存儲了各種信息,最終要加載到虛擬機中運行使用。類加載機制(摘自《深入理解 Java 虛擬機》)虛擬機把描述類的數據從Class文件加載到內存中,并對數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機直接使用的Java類型。
添加依賴
org.springframework.bootspring-boot-devtoolstrueDevTools的配置
#熱部署生效spring.devtools.restart.enabled: true#設置重啟的目錄spring.devtools.restart.additional-paths: src/main/java#classpath目錄下的WEB-INF文件夾內容修改不重啟spring.devtools.restart.exclude: WEB-INF/**IDEA需要的配置
當我們修改了Java類后,IDEA默認是不自動編譯的,而spring-boot-devtools又是監測classpath下的文件發生變化才會重啟應用,所以需要設置IDEA的自動編譯:
- File-Settings-Compiler-Build Project automatically
- ctrl + shift + alt + /,選擇Registry,勾上 compiler.automake.allow.when.app.running
總結
以上是生活随笔為你收集整理的idea修改代码后不重启项目_使用DevTool实现SpringBoot项目热部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: css中变形,css3中变形处理
- 下一篇: python 局域网主机扫描_pytho