V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
monetto
V2EX  ›  Java

有 JRebel 的开源替代方案吗

  •  
  •   monetto · 2021-01-07 10:00:36 +08:00 · 3803 次点击
    这是一个创建于 1411 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,有类似于 JRebel 的开源替代方案吗? Debug 只能修改方法体,但是不能修改函数类型,参数等...

    10 条回复    2024-09-08 21:04:01 +08:00
    ImShiYue
        1
    ImShiYue  
       2021-01-07 10:07:44 +08:00
    别的试过,还没 JRebel 一半好用,付费的就是不一样
    tinyuu
        2
    tinyuu  
       2021-01-07 10:11:17 +08:00   ❤️ 1
    http://hotswapagent.org/index.html
    > Features
    In contrast to standard Java, where the hotswap is limited to in-body code changes, the DCEVM + HotswapAgent allow following code changes:

    Add/remove/modify class fields.
    Add/remove/modify methods. Add/remove/modify method annotations
    Add/remove/modify classes including anonymous classes. HotswapAgent handless correct anonymous class redefinitions.
    Add/remove static member of classes. HotswapAgent handles static member initialization.
    Add/remove enum values
    Refresh framework and application server settings
    The only unsupported operation is hierarchy change (change the superclass or remove an interface).

    DCEVM realizes hotswap on JVM level. HotwapAgent does the same on level of Java frameworks and servlet containers. Both projects used together forms excellent combination for daily development not only in Java but also in another JVM languages.
    monetto
        3
    monetto  
    OP
       2021-01-07 10:21:00 +08:00 via iPhone
    @tinyuu 感谢,但是不支持 JDk6 啊
    qwerthhusn
        4
    qwerthhusn  
       2021-01-07 10:40:51 +08:00
    @monetto 卧槽,现在还在用 JDK6
    tinyuu
        5
    tinyuu  
       2021-01-07 10:46:43 +08:00
    @monetto 哈哈哈 受苦了啊 不行弄个“那啥的 JRebel”
    hantsy
        6
    hantsy  
       2021-01-07 19:14:09 +08:00
    完全没兴趣。修改代码后,立即跑测试验证。

    不用 Debug,我也不会用。
    monetto
        7
    monetto  
    OP
       2021-01-07 19:16:11 +08:00
    @hantsy 公司的某大型项目 JDK6 的,要启动 10 分钟。
    hantsy
        8
    hantsy  
       2021-01-07 19:20:39 +08:00
    @monetto JRebel 如果我理解的不错,应该只是开发用的时候用的吧。
    oneisall8955
        9
    oneisall8955  
       2021-01-07 21:18:30 +08:00
    @hantsy #8 不是吧,java 不用 Debug 直接 println ?或许这就是大佬吧
    gejun123456
        10
    gejun123456  
       70 天前
    @monetto #7 本地测试可以用 java8 吗,可以试试 Intellij HotSwaphelper 插件 支持 HotSwapAgent 框架的插件,https://www.bilibili.com/video/BV1cpWUedEbF
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5509 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 07:13 · PVG 15:13 · LAX 23:13 · JFK 02:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.