溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot項目怎么實現熱部署

發布時間:2021-07-08 17:23:40 來源:億速云 閱讀:212 作者:Leah 欄目:編程語言

SpringBoot項目怎么實現熱部署,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

<!--熱部署-->

<!-- devtools可以實現頁面熱部署(即頁面修改后會立即生效,

這個可以直接在application.properties文件中配置spring.thymeleaf.cache=false來實現) -->

<!--實現類文件熱部署(類文件修改后不會立即生效),實現對屬性文件的熱部署。-->

<!--即devtools 會監聽classpath下的文件變動,并且會立即重啟應用(發生在保存時機),

    注意:因為其采用的虛擬機機制,該項重啟是很快的-->

<!-- (1) base classloader (Base類加載器) :加載不改變的Class,例如:第三方提供的jar包。-->

<!-- (2) restart classloader (Restart類 加載器) :加載正在開發的Class。-->

<!--為什么重啟很快,因為重啟的時候只是加載了在開發的Class,沒有重新加載第三方的jar包。-->

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-devtools</artifactId>

    <!-- optional-true, 依賴不會傳遞,該項目依賴devtools;

    之后依賴boot項目的項目如果想要使用devtools,需要重新引入-->

    <optional>true</optional>

</dependency>

配置文件添加

#熱部署生效

spring.devtools.restart.enabled=true

#設置重啟的目錄,添加那個目錄的文件需要restart

spring.devtools.restart.additional-paths=src/main/java

啟動后沒有反應,原因是它是基于類加載機制來實現熱加載的,因此你修改完成代碼后必須重新編譯當前代碼,才能觸發熱部署,Eclipse默認就支持了自動編譯,而在Intellij IDEA中默認是關閉了自動編譯的,所以先必須先把它打開:

1、IDEA開啟項目自動編譯,進入設置,Build,Execut, Deployment -> Compiler 勾選中左側的Build Project automatically

2、IDEA開啟項目運行時自動make, ctrl + shift + a搜索命令:registry -> 勾選compiler.automake.allow.when.app.running           注:可能會ctrl + shift + a 變成了截圖功能,我就是釘釘的截圖熱鍵導致的,關掉它!

附:下面方法我沒有檢驗 IDEA配置熱部署

Swift Codehttp://www.gendan5.com/swiftcode.html

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、使用Jrebel插件實現熱部署(該插件14天免費試用)

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

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

關于SpringBoot項目怎么實現熱部署問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女