玩转 DCEVM + HotSwapAgent 热加载,免费、开源!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangxin09/article/details/84988200

DCEVM 提供 JRebel 类似的功能,允许在运行时无限制地重新定义加载的类,所谓”热插拔、热加载、热部署“功能大抵如是。而 HotswapAgent 则适配了 Servlet 程序的热加载。

最重要的是 DCEVM + HotSwapAgent 免费、开源,不用为 JRebel 找破解而折腾,而且也心安理得地用。

安装

安装 DCEVM 需要 DCEVM 和 JVM 两者版本一致才行。运行 java -version 确认您的 Java 版本。
在这里插入图片描述

因为要指定版本所以不一定要用最新的 JVM 版本,要到 Oracle Java Archive 这个页面下载,且需要有 Oracle 的账号。下载完后安装好,然后下载 DCEVM 的patch,是个 jar 包。
在这里插入图片描述
命令行输入 java -jar DCEVM-8u181-installer-build2.jar 进行安装。
在这里插入图片描述
选择指定的 Java 版本,然后点击“Instll DCEVM as altjvm”,完成之后如下图所示。
在这里插入图片描述
关于“增强调试模式”和“增强JRebel模式”两种的模式可参考:http://blog.51cto.com/zixiu/1887548

配置 Eclipse

这里以 Eclipse 为例子, IntelliJ IDEA 的话请参考官网文档(Idea 有 HotSwapAgent 插件)。首先配置工程编译的 JDK 和 JRE,这里选择已经 DCEVM 扩展后的
在这里插入图片描述
在这里插入图片描述

配置 Tomcat

如果使用 Tomcat,则配置 VM 选项为 DCEVM 扩展后的
在这里插入图片描述

接着去下载 HotSwapAgent jar 包,记住保存的位置,然后打开 Eclipse 的 Tomat 配置,找到如下界面,输入运行参数:-XXaltjvm=dcevm -javaagent:\HotswapAgent.jar,注意 jar 要给出全部路径,例如 c:\temp\dev\xxx.jar。
在这里插入图片描述
然后禁止 Tomcat 的自动加载,
在这里插入图片描述
ok 可以了现在测试下,启动一个 web 项目,记得要 Debug 模式启动。
启动时候如下图表示成功了。
在这里插入图片描述
在这里插入图片描述
启动后修改任意一个 class,果然马上有反映!而且我这个类是经过 Javassits 加载的,两者不影响冲突。

没有更多推荐了,返回首页