2016-02-25 118 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? –