平常Java项目开发中,涉及到Java类结构的改变/Spring Bean的增加等等操作,需要重启项目,对于平时的开发有点影响效率,本文章分享一种无法重启,即可实现改变的实时加载。
** 注:某些项目使用下面的方法需要根据特殊自己修改插件源码**
安装DCEVM
- 下载DCEVM dcevm.github.io/
- 运行DCEVM
Java -jar DCEVM-8u181-installer.jar
- Add installation directory
- Install DCEVM as altivm
下载热更新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地址