資料源自于spring boot 2.0.1
spring boot 官方文檔的原名稱是Remote Applications,這里筆者就暫且稱它為遠(yuǎn)程更新。
有興趣的同學(xué)可以自行參考spring boot 的手冊(cè),20.5章節(jié) Remote Applications
遠(yuǎn)程更新通俗的來說,也就是我們的spring boot工程已經(jīng)部署到遠(yuǎn)端的機(jī)器,但是我們可以在本地開發(fā)環(huán)境來通過spring boot提供的工具實(shí)時(shí)的推送最新代碼到遠(yuǎn)端機(jī)器,完成代碼更新,比如處理緊急bug的情況,可以迅速的修復(fù)。需要注意的是,遠(yuǎn)端機(jī)器工程重啟后,我們推送的代碼也就會(huì)失效。
下面筆者就細(xì)說具體步驟
1 配置遠(yuǎn)程更新
配置pom文件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludeDevtools>false</excludeDevtools>
</configuration>
</plugin>
</plugins>
</build>
配置propeties文件
spring.devtools.remote.secret=mysecret
2 運(yùn)行已經(jīng)打好jar包的spring boot工程
通過命令行啟動(dòng)工程 java -jar xxx.jar,用來模擬我們的遠(yuǎn)端機(jī)器。
3 啟動(dòng)spring boot 遠(yuǎn)程更新工具

image.png
筆者這里用的是idea工具。
- 新建一個(gè)啟動(dòng)方法
- 添加org.springframework.boot.devtools.RemoteSpringApplication啟動(dòng)類
- 配置遠(yuǎn)端機(jī)器的地址到program arguments
注意,需要指明具體的工程,如上圖的working directory、use classpath of module -
運(yùn)行
啟動(dòng)成功后,就可以把我們修改的代碼直接部署到遠(yuǎn)端機(jī)器。筆者用的idea需要手動(dòng)build一下修改的java文件,然后控制臺(tái)會(huì)輸出如下圖的提示,我們就可以訪問遠(yuǎn)端的項(xiàng)目地址來檢查我們更新的情況了。
image.png
下面是筆者運(yùn)行的效果
首先通過控制臺(tái)啟動(dòng)jar文件

image.png
啟動(dòng)RemoteSpringApplication,修改需要修改的文件,然后build

image.png
最后的效果

image.png
