idea实现代码热部署
Dynamic Code Evolution for Java
动态代码演进虚拟机 (DCE VM) 是对 Java HotSpot VM 的修改,它允许在运行时无限制地重新定义加载的类。HotSpot™ VM 的当前热交换机制只允许更改方法体。增强的 VM 允许添加和删除字段和方法以及更改类的超类型。
1 需要使用 JDK 1.8.0_181 版本,因为 dcevm 需要和 jdk 版本匹配。
2 下载插件:https://github.com/dcevm/dcevm/releases
我下载的是 DCEVM-8u181-installer-build2.jar。
然后,安装插件。
由于我使用是 mac 版本,我的启动命令是 sudo java -jar DCEVM-8u181-installer-build2.jar 。
启动之后,需要安装 DCEVM;
点击 Install DCEVM as altjvm, 我这边已经安装成功。
3 idea 下载 HotSwapAgent 插件,重启 idea;
开启 插件功能:
插件源码:https://github.com/HotswapProjects/HotswapAgent
4 springboot 启动命令,加入 -XXaltjvm=DCEVM
启动后,控制台会输出 hotswap 日志:
截止到目前,我们就能够实现在 idea 进行热部署 springboot 了。
我们修改代码后,对代码进行重新编译:
HotSwapAgent 就会开始工作,会重新刷新 springboot bean 容器:
此时,代码就更新完了。
- 原文作者:Mars
- 原文链接:https://www.zchenxing.com/idea-realizes-code-hot-deployment.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。本站为人工博客 的子站点。内容均来自主站。