IntelliJ IDEA熱部署配置總結


Intellij IDEA 4種配置熱部署的方法:

熱部署可以使的修改代碼后,無須重啟服務器,就可以加載更改的代碼。

第1種:修改服務器配置,使得IDEA窗口失去焦點時,更新類和資源

菜單Run -> EditConfiguration , 然后配置指定服務器下,右側server標簽下on frame deactivation = Update classes and resource。

優點:簡單

缺點:基於JVM提供的熱加載僅支持方法塊內代碼修改,只有debug模式下,並且是在idea失去焦點時才會出發熱加載,相對加載速度緩慢

第2種:使用springloaded jar包

a. 下載jar包,github:https://github.com/spring-projects/spring-loaded
b. 啟動應用時添加VM啟動參數:-javaagent:/home/lkqm/.m2/repository/org/springframework/springloaded/1.2.7.RELEASE/springloaded-1.2.7.RELEASE.jar -noverify

優點:對Spring系列框架支持好(不含Spring boot), 支持 成員級別的修改(增刪改方法、字段、注解),支持對枚舉值集。

缺點:與優點相對

第3種:使用spring-boot-devtools提供的開發者工具

spring-boot項目中引入如下依賴

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
優點:簡單,支持Spring-boot項目,支持成員級別的修改熱部署。

缺點:只支持spring-boot項目。

第4種:使用Jrebel插件實現熱部署(該插件14天免費試用)

在線安裝:菜單File -> Setting -> Plugin, 點擊右側底部 Browse repositories, 彈出框頂部輸入:JReble for Intellij, 選中安裝即可。

優點:強大,對各類框架支持,並且提供IDE插件的方式。


/**
* 使用intelliJ idea 不會默認重新編譯當前代碼
*/
最后3種方法是基於類加載機制來實現熱加載的,因此你修改完成代碼后必須重新編譯當前代碼,才能觸發熱部署。
Eclipse默認就支持了自動編譯,而在Intellij IDEA中默認是關閉了自動編譯的,可以按照如下2步設置開啟:

/**
*Intellij IDEA 開啟自動編譯
*/
1.IDEA開啟項目自動編譯,進入設置,Build,Execut, Deployment -> Compiler 勾選中左側的Build Project automatically
2.IDEA開啟項目運行時自動make, ctrl + shift + a搜索命令:registry -> 勾選compiler.automake.allow.when.app.running
出現問題:修改后重新加載之后,不能訪問
解決方法(不知道是否正確)在Compiler中全部勾選,最好是用Debug運行項目

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM