1. 程式人生 > >Intellij IDEA 4種配置熱部署的方法

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

出發 config 配置 必須 com ica dep jrebel when

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

  • 第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插件的方式。

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

  1. IDEA開啟項目自動編譯,進入設置,Build,Execut, Deployment -> Compiler 勾選中左側的Build Project automatically
  2. IDEA開啟項目運行時自動make, ctrl + shift + a搜索命令:registry -> 勾選compiler.automake.allow.when.app.running

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