使用热部署技术加速Mirai相关开发
-
在开发mirai相关程序(console插件或者是基于mirai的应用)的时候,每修改一次代码都需要重新启动mirai来测试结果;然而对于有大量群或好友的账户来说,每一次登录都需要消耗大量时间。热部署技术可以在不重启jvm的情况下动态替换代码,从而节约测试时间。
jvm本身支持热部署技术,但是仅仅支持方法内代码替换。下面介绍的方法可以动态替换更多类型的代码。
本文介绍
Dcevm
这个修改版JVM,该修改版能动态修改类的任意元素,包括成员、方法、注解、继承等而无需重启JVM安装
下载对应平台并解压即可
https://github.com/TravaOpenJDK/trava-jdk-11-dcevm/releases配置
对于
idea
来说,只需要使用该jvm运行你的项目即可。- 在
Project Structure
中找到Project SDK
并添加dcevm
的路径 - 在运行配置中的
JRE
中选择你刚刚添加的即可
使用
使用
Debug
模式启动你的项目。启动后修改任意代码点击Build
锤子按钮,或是按下Ctrl+F9
。看到下面的提示则表示重载成功,此时修改的代码就会生效。 - 在
-
cy
-
试试·
-
插眼 -
hso
-
其实IDEA本身其实也支持热部署功能,需要在Debug模式下Build Project,同时使用F3+T重新载入资源文件. 但是这些热部署都无法保证实际效果的完全一致,某些情况下还是需要重新启动程序来保证达成预期效果。
-
@teeth 但是无法重载某些位置的更改。这就是需要使用dcevm的原因