Intellij IDEA 4种配置热部署的方法【转】【补】
?
熱加載
熱加載可以使代碼修改后無須重啟服務器,就可以加載更改的代碼。(其實分java和非java代碼,本處可以讓java代碼立即生效且不重啟服務)
第1種:修改服務器配置,使得IDEA窗口失去焦點時,更新類和資源
菜單Run -> EditConfiguration , 然后配置指定服務器下,右側server標簽下on frame deactivation = Update classes and resource。
優(yōu)點:簡單
缺點:基于JVM提供的熱加載僅支持方法塊內代碼修改,只有debug模式下,并且是在idea失去焦點時才會出發(fā)熱加載
?
熱部署
熱部署修改代碼后,需要重啟服務器,才能加載更改的java代碼。(本處,可以讓java代碼和非java代碼,都生效,但必須重啟服務)
?
第2種:使用springloaded.jar包
a. 下載jar包,github:https://github.com/spring-projects/spring-loadedb. 啟動應用時添加VM啟動參數(shù):-javaagent:/home/lkqm/.m2/repository/org/springframework/springloaded/1.2.7.RELEASE/springloaded-1.2.7.RELEASE.jar -noverify
優(yōu)點:對Spring系列框架支持好(不含Spring boot), 支持 成員級別的修改(增刪改方法、字段、注解),支持對枚舉值集。使用這種形式加載springloaded經(jīng)過測試,延遲不算高,?java代碼修改后控制臺看不到重啟信息卻也能生效.
缺點:與優(yōu)點相對
?
?
?
??更簡單的方式
maven插件中使用pom.xml配置springloaded插件的依賴
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><dependencies><dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId><version>1.2.6.RELEASE</version></dependency></dependencies></plugin></plugins></build>然后在終端使用命令行?mvn spring-boot:run啟動,而通過Application.run方式啟動的會無效,因為通過應用程序啟動時,已經(jīng)繞開了Maven插件機制。
?
?
第3種:使用spring-boot-devtools提供的開發(fā)者工具
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><!-- 有人說optional一定要配置成true才有效, 但我調試完感覺不加optional也有效 --><optional>true</optional> </dependency>?
優(yōu)點:簡單,支持Spring-boot項目,支持成員級別的修改熱部署。
缺點:只支持spring-boot項目。
相關: application.properties配置
#熱部署默認會重啟 spring.devtools.restart.enabled=true #添加那個目錄的文件需要restart spring.devtools.restart.additional-paths=src/main/java #排除那個目錄的文件不需要restart spring.devtools.restart.exclude=static/**,public/**?
?
?
第4種:使用Jrebel插件實現(xiàn)熱部署(該插件14天免費試用)
在線安裝:菜單File -> Setting -> Plugin, 點擊右側底部 Browse repositories, 彈出框頂部輸入:JReble for Intellij, 選中安裝即可。
優(yōu)點:強大,對各類框架支持,并且提供IDE插件的方式。
后3種方法是基于類加載機制來實現(xiàn)熱加載的,因此你修改完成代碼后必須重新編譯當前代碼,才能觸發(fā)熱部署。
?
idea操作
Eclipse默認就支持了自動編譯,而在Intellij IDEA中默認是關閉了自動編譯的,可以按照如下2步設置開啟:
- IDEA開啟項目自動編譯,進入設置,Build,Execut, Deployment -> Compiler 勾選中左側的Build Project automatically
?
?
?
- IDEA開啟項目運行時自動make, ctrl + shift + alt + / 命令:registry -> 勾選compiler.automake.allow.when.app.running
?
?
?
參考自:
Intellij IDEA 4種配置熱部署的方法==>https://www.cnblogs.com/a8457013/p/7866536.html
?
其它參考
?
spring boot修改代碼后無需重啟設置,在開發(fā)時實現(xiàn)熱部署==>https://blog.csdn.net/testcs_dn/article/details/79929886
?
SpringBoot入門-2(兩種熱部署方式)==>
?
?
轉載于:https://www.cnblogs.com/whatlonelytear/p/10370767.html
總結
以上是生活随笔為你收集整理的Intellij IDEA 4种配置热部署的方法【转】【补】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么80%的码农都做不了架构师?
- 下一篇: 面试题:如何实现丝滑般的数据库扩容