MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接

    使用热部署技术加速Mirai相关开发

    技术交流板块
    6
    7
    957
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • RainChan
      RainChan 摸鱼 last edited by

      在开发mirai相关程序(console插件或者是基于mirai的应用)的时候,每修改一次代码都需要重新启动mirai来测试结果;然而对于有大量群或好友的账户来说,每一次登录都需要消耗大量时间。热部署技术可以在不重启jvm的情况下动态替换代码,从而节约测试时间。

      jvm本身支持热部署技术,但是仅仅支持方法内代码替换。下面介绍的方法可以动态替换更多类型的代码。

      本文介绍Dcevm这个修改版JVM,该修改版能动态修改类的任意元素,包括成员、方法、注解、继承等而无需重启JVM

      安装

      下载对应平台并解压即可
      https://github.com/TravaOpenJDK/trava-jdk-11-dcevm/releases

      配置

      对于idea来说,只需要使用该jvm运行你的项目即可。

      1. 在Project Structure中找到Project SDK并添加dcevm的路径
      2. 在运行配置中的JRE中选择你刚刚添加的即可

      使用

      使用Debug模式启动你的项目。启动后修改任意代码点击Build锤子按钮,或是按下Ctrl+F9。看到下面的提示则表示重载成功,此时修改的代码就会生效。

      f11d2230-763c-40f8-8089-1d2ab494bb9a-image.png

      1 Reply Last reply Reply Quote 1
      • S
        SakiZero last edited by

        cy

        1 Reply Last reply Reply Quote 0
        • StageGuard
          StageGuard last edited by

          试试·

          1 Reply Last reply Reply Quote 0
          • Orisland
            Orisland 摸鱼 last edited by

            插眼

            1 Reply Last reply Reply Quote 0
            • Karlatemp
              Karlatemp last edited by Karlatemp

              hso

              1 Reply Last reply Reply Quote 0
              • T
                Teeth last edited by Teeth

                This post is deleted!
                RainChan 1 Reply Last reply Reply Quote 0
                • RainChan
                  RainChan 摸鱼 @Teeth last edited by

                  @teeth 但是无法重载某些位置的更改。这就是需要使用dcevm的原因

                  1 Reply Last reply Reply Quote 0
                  • 1 / 1
                  • First post
                    Last post
                  Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact