java SpringBoot SpringCloud 熱部署 熱加載 熱調試


文章很長,建議收藏起來,慢慢讀! 備注:持續更新中.....


價值連城:2021春招月薪過5萬 面試題 總系列

搞定下面這些面試題,2021春招月薪過5萬(猛!) 阿里、京東、美團、頭條.... 隨意挑、橫着走!!!
Java基礎
1: JVM面試題(史上最強、持續更新、吐血推薦) https://www.cnblogs.com/crazymakercircle/p/14365820.html
2:Java基礎面試題(史上最全、持續更新、吐血推薦) https://www.cnblogs.com/crazymakercircle/p/14366081.html
3:死鎖面試題(史上最強、持續更新) [https://www.cnblogs.com/crazymakercircle/p/14323919.html]
4:設計模式面試題 (史上最全、持續更新、吐血推薦) https://www.cnblogs.com/crazymakercircle/p/14367101.html
5:架構設計面試題 (史上最全、持續更新、吐血推薦) https://www.cnblogs.com/crazymakercircle/p/14367907.html
還有 10 幾篇價值連城 的面試題 具體..... 請參見【 瘋狂創客圈 高並發 總目錄

萬字長文: 瘋狂創客圈 springCloud 高並發系列

springCloud 高質量 博文
nacos 實戰(史上最全) sentinel (史上最全+入門教程)
springcloud + webflux 高並發實戰 Webflux(史上最全)
SpringCloud gateway (史上最全)
還有 10 幾篇 萬字長文 的高質量 博文 具體..... 請參見【 瘋狂創客圈 高並發 總目錄

Java/SpringBoot/SpringCloud 熱部署 熱加載 熱調試

有兩種方式:

一: devtools的熱部署

【這是一種假的熱部署,說白了就是重啟一下】

二. jrebel 的熱部署

很牛逼,但是需要破解哦

方式一:devtools 的熱部署

每修改一下代碼再去 run一次, 實在是很麻煩. 很浪費時間. 很低效

但既然用這個框架的,它所包含的特性什么的還是要充分利用,不能浪費呀!

springboot的熱部署網上有太多的教案,在此呢,也只是真實記錄一下自己在實際操作過程中的方法步驟。

1、pom.xml配置,這是一定要配置的

熱加載在pom.xml中添加devtools的maven引用,同時在plugin中添加devtools生效標志

<plugin>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-devtools</artifactId>
</plugin>
<plugin>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-maven-plugin</artifactId>
	<configuration>
		<fork>true</fork>  <!-- 如果沒有該生效標志,熱部署的devtools不生效 -->
	</configuration>
	<executions>
		<execution>
			<goals>
				<goal>build-info</goal>
			</goals>
		</execution>
	</executions>
</plugin>

2、Idea設置

於熱部署是監聽 Class 文件的變化,它自身不會主動去編譯 Java 文件,所以我們得在 Java 文件改動時,自動編譯成 Class 文件,然后熱部署工具創造的新的類加載器才會加載改變后的 Class 文件。

所以,如果你使用 IDEA 開發工具的話,記得要把自動編譯打開。

File | Settings | Build, Execution, Deployment | Compiler :該√的√上

在這里插入圖片描述

3、修改IDEA的 Registry

開啟自動編譯,還差一步。

所以,如果你使用 IDEA 開發工具的話,記得要把自動編譯打開。

再執行 shift+ctrl+alt+/ 快捷鍵
在這里插入圖片描述

在這里插入圖片描述

在配置文件application.yml

熱部署生效:在配置文件application.yml中添加 :

spring:
  devtools:
    restart:
      enabled: true  #設置開啟熱部署

4 重啟idea,運行工程

注意:這種配置啟動不能直接運行 main 方法了,需要使用 mvn spring-boot:run 啟動,

運行:mvn clean spring-boot:run

問題:

springBoot框架 只是實現了熱啟動而已,從控制台日志就可以看出來。

方式二: JRebel插件熱部署

可以在csdn下載離線插件:

https://download.csdn.net/download/qq_32769447/11667644

也可以使用idea安裝在線插件:

開發工具idea中使用JRebel插件

JRebel是JavaEE中比較流行的熱部署插件,可快速實現熱部署,節省了大量重啟時間,提高了個人開發效率。

1、點擊File -> Settings -> Plugins,如下圖:搜索JRebel安裝

在這里插入圖片描述

jrebel 的激活和使用

1、重啟idea,右上角即出現快捷按鈕,分別是run、debug模式

img

2 第一次使用是,需要 激活

詳情如后面

3 激活之后,也可以右鍵springboot的啟動類:

img

又或者使用spring的運行面板:

img

手動編譯要加載的類

如果配置了自動編譯,這一步,直接忽略

在這里插入圖片描述

jrebel自動加載class,自動配置bean

代碼重新編譯后,jrebel自動加載class,自動配置bean
在這里插入圖片描述

設置為離線模式

然后將JRebel設置為離線模式,可以180天內不用再次激活,如下圖

img

方式二補充:激活jrebel

1、下載ReverseProxy_windows_amd64.exe,以下鏈接可下載。

鏈接1:https://github.com/ilanyu/ReverseProxy/releases/download/v1.4/ReverseProxy_windows_amd64.exe
鏈接2:https://download.csdn.net/download/zcxbd/11151163

2、雙擊exe文件,如圖1所示:

圖一:
圖1

3、idea點擊激活jrebel,激活頁面如下圖二,http://localhost:8888/aa408ec4-1454-4187-96b8-f292e2c223cf該鏈接組成:端口8888即是圖一中的8888,后面的隨機碼,可用uuid在線生成;郵箱隨便填寫即可;再勾選同意,點擊激活按鈕即可

圖二-1:
在這里插入圖片描述
圖二-2:
在這里插入圖片描述
圖二-3:
在這里插入圖片描述
圖二-4:注意:圖二-4中的激活按鈕處顯示“Change license”,是因為我已經激活成功!!!
在這里插入圖片描述

4、激活成功后,記得配置jrebel,選擇離線模式,不然你要一直打開【1】中的exe文件,否則又會提示讓你激活

在這里插入圖片描述


回到◀瘋狂創客圈

瘋狂創客圈 - Java高並發研習社群,為大家開啟大廠之門


免責聲明!

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



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