Springboot在IDEA熱部署的配置方法
1 pom.xml文件
注:熱部署功能spring-boot-1.3開(kāi)始有的
<!--添加依賴(lài)--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <!-- optional=true,依賴(lài)不會(huì)傳遞,該項(xiàng)目依賴(lài)devtools;之后依賴(lài)myboot項(xiàng)目的項(xiàng)目如果想要使用devtools,需要重新引入 --> <optional>true</optional> </dependency>
注:project 中添加 spring-boot-maven-plugin,主要在eclipse中使用,idea中不需要添加此配置。
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <fork>true</fork> </configuration> </plugin> </plugins> </build>
2 更改idea配置
1) “File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,選中打勾 “Build project automatically” 。
2) 組合鍵:“Shift+Ctrl+Alt+/” ,選擇 “Registry” ,選中打勾 “compiler.automake.allow.when.app.running” 。
3 Chrome禁用緩存
F12或者“Ctrl+Shift+I”,打開(kāi)開(kāi)發(fā)者工具,“Network” 選項(xiàng)卡下 選中打勾 “Disable Cache(while DevTools is open)”
補(bǔ)充:
Intellij IDEA 4種配置熱部署的方法
熱部署可以使的修改代碼后,無(wú)須重啟服務(wù)器,就可以加載更改的代碼。
第1種:修改服務(wù)器配置,使得IDEA窗口失去焦點(diǎn)時(shí),更新類(lèi)和資源
菜單Run -> EditConfiguration , 然后配置指定服務(wù)器下,右側(cè)server標(biāo)簽下on frame deactivation = Update classes and resource。
優(yōu)點(diǎn):簡(jiǎn)單
缺點(diǎn):基于JVM提供的熱加載僅支持方法塊內(nèi)代碼修改,只有debug模式下,并且是在idea失去焦點(diǎn)時(shí)才會(huì)出發(fā)熱加載,相對(duì)加載速度緩慢
第2種:使用springloaded jar包
a. 下載jar包,github:https://github.com/spring-projects/spring-loaded
b. 啟動(dòng)應(yīng)用時(shí)添加VM啟動(dòng)參數(shù):-javaagent:/home/lkqm/.m2/repository/org/springframework/springloaded/1.2.7.RELEASE/springloaded-1.2.7.RELEASE.jar -noverify
優(yōu)點(diǎn):對(duì)Spring系列框架支持好(不含Spring boot), 支持 成員級(jí)別的修改(增刪改方法、字段、注解),支持對(duì)枚舉值集。
缺點(diǎn):與優(yōu)點(diǎn)相對(duì)
第3種:使用spring-boot-devtools提供的開(kāi)發(fā)者工具
spring-boot項(xiàng)目中引入如下依賴(lài)
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
優(yōu)點(diǎn):簡(jiǎn)單,支持Spring-boot項(xiàng)目,支持成員級(jí)別的修改熱部署。
缺點(diǎn):只支持spring-boot項(xiàng)目。
第4種:使用Jrebel插件實(shí)現(xiàn)熱部署(該插件14天免費(fèi)試用)
在線(xiàn)安裝:菜單File -> Setting -> Plugin, 點(diǎn)擊右側(cè)底部 Browse repositories, 彈出框頂部輸入:JReble for Intellij, 選中安裝即可。
優(yōu)點(diǎn):強(qiáng)大,對(duì)各類(lèi)框架支持,并且提供IDE插件的方式。
最后3種方法是基于類(lèi)加載機(jī)制來(lái)實(shí)現(xiàn)熱加載的,因此你修改完成代碼后必須重新編譯當(dāng)前代碼,才能觸發(fā)熱部署,Eclipse默認(rèn)就支持了自動(dòng)編譯,而在Intellij IDEA中默認(rèn)是關(guān)閉了自動(dòng)編譯的,可以按照如下2步設(shè)置開(kāi)啟:
- IDEA開(kāi)啟項(xiàng)目自動(dòng)編譯,進(jìn)入設(shè)置,Build,Execut, Deployment -> Compiler 勾選中左側(cè)的Build Project automatically
- IDEA開(kāi)啟項(xiàng)目運(yùn)行時(shí)自動(dòng)make, ctrl + shift + a搜索命令:registry -> 勾選compiler.automake.allow.when.app.running
總結(jié)
以上所述是小編給大家介紹的Springboot在IDEA熱部署的配置方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- IDEA下SpringBoot指定配置文件啟動(dòng)項(xiàng)目的全過(guò)程
- Idea2022版本配置SpringBoot熱部署的教程
- idea使用外置tomcat配置springboot詳細(xì)步驟
- Idea安裝及涉及springboot詳細(xì)配置的圖文教程
- IDEA配置靜態(tài)資源熱加載操作(Springboot修改靜態(tài)資源不重啟)
- idea配置springboot熱部署終極解決辦法(解決熱部署失效問(wèn)題)
- IDEA SpringBoot項(xiàng)目配置熱更新的步驟詳解(無(wú)需每次手動(dòng)重啟服務(wù)器)
- IDEA中SpringBoot項(xiàng)目的yml多環(huán)境配置方式
相關(guān)文章
java關(guān)于String.split("|")的使用方式
這篇文章主要介紹了java關(guān)于String.split("|")的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02JAVA遞歸與非遞歸實(shí)現(xiàn)斐波那契數(shù)列
這篇文章主要為大家詳細(xì)介紹了JAVA遞歸與非遞歸實(shí)現(xiàn)斐波那契數(shù)列,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02spring-spring容器中bean知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家分享了關(guān)于spring-spring容器中bean知識(shí)點(diǎn)總結(jié),有需要的朋友們可以學(xué)習(xí)下。2019-08-08Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送
這篇文章主要介紹了Java 基于UDP協(xié)議實(shí)現(xiàn)消息發(fā)送,幫助大家更好的理解和學(xué)習(xí)Java網(wǎng)絡(luò)編程,感興趣的朋友可以了解下2020-11-11Java實(shí)現(xiàn)級(jí)聯(lián)下拉結(jié)構(gòu)的示例代碼
在開(kāi)發(fā)過(guò)程中,會(huì)遇到很多的實(shí)體需要將查出的數(shù)據(jù)處理為下拉或者級(jí)聯(lián)下拉的結(jié)構(gòu),提供給前端進(jìn)行展示。本文為大家介紹了java封裝下拉和級(jí)聯(lián)下拉的通用工具類(lèi),需要的可以參考一下2022-06-06java 隨機(jī)生成6位短信驗(yàn)證碼實(shí)例代碼
這篇文章主要介紹了java 隨機(jī)生成6位短信驗(yàn)證碼的實(shí)例代碼,文中給大家擴(kuò)展介紹了java隨機(jī)生成四位數(shù)字驗(yàn)證碼的方法,需要的朋友可以參考下2019-12-12SpringBoot設(shè)置接口超時(shí)時(shí)間的方法
這篇文章主要介紹了SpringBoot設(shè)置接口超時(shí)時(shí)間的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08springboot整合Dubbo與Feign的實(shí)現(xiàn)?(無(wú)注冊(cè)中心)
本文主要介紹了springboot整合Dubbo與Feign的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04Springboot-Starter造輪子之自動(dòng)鎖組件lock-starter實(shí)現(xiàn)
這篇文章主要為大家介紹了Springboot-Starter造輪子之自動(dòng)鎖組件lock-starter實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05