2016-02-25 116 views
0

我不知道了。从今天下午14点开始,热码更换不再有效。 我在win10x64上安装了jdk8_74x64。Bytecode Hotswap - 困惑

我测试它使用一个简单的项目代码(没有Maven和不依赖):

public class Test{ 
    public static void main(String[] args){ 
    System.out.println("hi"); // breakpoint here, it stops always 

    System.out.println("ho"); // on suspending i change this to "hoy". 
    } 
} 
  1. 开始了新的工作空间日食 - 仍然没有工作
  2. 重新启动计算机 - 仍然没有工作
  3. 卸载所有JDK/JRE并删除全部javaws.exe,再次安装 - 仍然无法正常工作。
  4. 卸载eclipse,重新安装eclipse - 仍然不能正常工作
  5. 安装netbeans,使用“应用代码更改” - 仍然无法工作。
  6. 所有javaws.exe删除JDK,删除日食,卸载NetBeans,使用新的用户,安装JDK 8u31x64安装NetBeans - 仍然没有工作
  7. 安装的想法,社区edition15 + JetBrains公司,改变hohoy和应用类的变化(想法通知我1 class reloaded) - 仍然无法正常工作。

如何获取热代码替换工作?

+0

从你的问题,它甚至不清楚你想要什么_achieve _.... – fge

+0

@fge看我的编辑,现在清楚了吗? –

回答

0

嗯,

public class Test{ 
    public static void main(String[] args){ 
    System.out.println("hi"); // breakpoint here, it stops always 

    System.out.println("ho"); // on suspending i change this to "hoy". 
    } 
} 

不工作,但

public class Test{ 
    public static void main(String[] args){ 
    foobar(); 
    } 
    public static void foobar(){ 
    System.out.println("hi"); // breakpoint here, it stops always 

    System.out.println("ho"); // on suspending i change this to "hoy". 
    } 
} 

伟大的作品随处可见。

+0

所以你真正想要的是在运行时热切换字节码。如果你在IRC上,我建议你在## freenode的Java上问马尔迪维亚。他是JVM大师,是JRebel背后的推动力(主要是由于他在技术上的技巧) – fge

+0

@fge我将热代码替换为字节码热插拔。 –

+0

你的意思是Vanja? –