Java项目热更新-支持类方法增加删除

355 阅读1分钟

平常Java项目开发中,涉及到Java类结构的改变/Spring Bean的增加等等操作,需要重启项目,对于平时的开发有点影响效率,本文章分享一种无法重启,即可实现改变的实时加载。

** 注:某些项目使用下面的方法需要根据特殊自己修改插件源码**

安装DCEVM

  1. 下载DCEVM dcevm.github.io/
  2. 运行DCEVM
 Java -jar DCEVM-8u181-installer.jar
  1. Add installation directory
  2. Install DCEVM as altivm

dcevm.png

下载热更新agent

github.com/HotswapProj… 下载hotswap-agent.jar

配置工程(以Spring boot工程为例)

1.启动Spring工程加上VM参数

-XXaltjvm=dcevm -javaagent:${home}/hotswap-agent.jar

2.启动工程(debug模式启动) 3.新建Controller类,如:

@Controller
public class HelloWorldController {
  

    @RequestMapping("/hello1")
    @ResponseBody
    public String hello() {
        return "Hello";
    }
}

4.保存编译,会触发agent的文件监听机制,自动加载class,Spring bean加载。

5.直接浏览器可以访问新的controller地址