资料源自于spring boot 2.0.1
spring boot 官方文档的原名称是Remote Applications,这里笔者就暂且称它为远程更新。
有兴趣的同学可以自行参考spring boot 的手册,20.5章节 Remote Applications
远程更新通俗的来说,也就是我们的spring boot工程已经部署到远端的机器,但是我们可以在本地开发环境来通过spring boot提供的工具实时的推送最新代码到远端机器,完成代码更新,比如处理紧急bug的情况,可以迅速的修复。需要注意的是,远端机器工程重启后,我们推送的代码也就会失效。
下面笔者就细说具体步骤
1 配置远程更新
配置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 运行已经打好jar包的spring boot工程
通过命令行启动工程 java -jar xxx.jar,用来模拟我们的远端机器。
3 启动spring boot 远程更新工具
笔者这里用的是idea工具。
- 新建一个启动方法
- 添加org.springframework.boot.devtools.RemoteSpringApplication启动类
- 配置远端机器的地址到program arguments
注意,需要指明具体的工程,如上图的working directory、use classpath of module -
运行
启动成功后,就可以把我们修改的代码直接部署到远端机器。笔者用的idea需要手动build一下修改的java文件,然后控制台会输出如下图的提示,我们就可以访问远端的项目地址来检查我们更新的情况了。
下面是笔者运行的效果
首先通过控制台启动jar文件
启动RemoteSpringApplication,修改需要修改的文件,然后build
最后的效果