How to enable Intellij hot code swap

Intellij IdeaHotswap

Intellij Idea Problem Overview


Intellij does not seem to be doing basic hot code swap on my installation.

For this code:

public class MainTest {
    public void method1() {
        System.out.println("Breakpoint here");
    }

    public void method2() {
        System.out.println("Line that will get 24 modified");
    }

    public static void main(String[] args) {
        System.out.println("First print here");
        MainTest mainTest = new MainTest();
        mainTest.method1();
        mainTest.method2();
        System.out.println("Line that I do not modify");
    }
}

I put a breakpoint on mainTest.method1(); then modify the string at method2(), hit ctrl+s and continue to step by step. Unfortunately the runtime is not updated, old string is being printed. Full stop - compile - run does print the new string. So my conclusion is hot-swap not working.

Is there any settings I need to set to enable hot code swap?

  • Ubuntu, JDK 1.6
  • Intellij 10.5 Ultimate (evaluation)

Intellij Idea Solutions


Solution 1 - Intellij Idea

After saving your class while waiting on your breakpoint just recompile your class with Build -> Compile 'MainTest.java' or press Ctrl+Shift+F9 with the standard key bindings.

IntelliJ IDEA will then show a small dialog in which it asks you if you want to reload that class.

Solution 2 - Intellij Idea

After below modifications and enabling hot swap, a change in a Java file took 1-2 seconds of restart time. (Initial start time is around 7 seconds for me).

I hope below method helps...


First, you need to check “Make project automatically” in preferences menu.

To open preferences menu;

you can go to top menu and click;

> IntelliJ IDEA -> Preferences

or you can type below shortcut via keyboard;

> cmd + option + s

Then, you can check Make project automatically as in below picture;

enter image description here

Secondly, you need to modify compiler.automake.allow.when.app.running registry setting as true.

To open registry, you need to click below keyboard shortcut:

> cmd + shift + a

Type registry as in below picture, select Registry, and hit enter button of keyboard;

enter image description here

After Registry window opened, type compiler.automake to see compiler.automake.allow.when.app.running option, and check it as in below picture;

enter image description here

Then, you need to restart IntelliJ to make registry changes work.

Solution 3 - Intellij Idea

There is a Debugger > HotSwap option in intellij 11.

Solution 4 - Intellij Idea

Go to Setting --> Select Debug --> HotSwap

enter image description here

Solution 5 - Intellij Idea

I wanted hotswap to automatically run every time I saved a Java file. None of the other answers did this so I just:

  1. Created a macro that will run on save: https://stackoverflow.com/a/5581992/14731
  2. Added Action: Hotswap at the end of the macro (Run -> Reload Changed Classes)

Solution 6 - Intellij Idea

For anyone experiencing the same problem as me, you might have incurred in the following recent bug affecting the 2020.2 update: https://youtrack.jetbrains.com/issue/IDEA-247530?_ga=2.116305920.729836936.1599654650-984156210.1599654650

TL;DR As a workaround, you need to re-activate the Groovy plugin.

Solution 7 - Intellij Idea

I think you are asking about this,

  1. Right-click on your java class
  2. Select Compile And Reload File

Solution 8 - Intellij Idea

I encountered this problem on Ubuntu. I also had an apparently unrelated issue where IntelliJ gave an error about the file watch limit (my apologies that I no longer have the exact error message). To solve this later issue I did the following steps:

  1. Add the following line to either /etc/sysctl.conf file or a new *.conf file (e.g. idea.conf) under /etc/sysctl.d/ directory:

     fs.inotify.max_user_watches = 524288
    
  2. Then run this command to apply the change:

    sudo sysctl -p --system

Now my React components rebuild and hot swap just fine.

Source

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMaxim VekslerView Question on Stackoverflow
Solution 1 - Intellij IdeajoschiView Answer on Stackoverflow
Solution 2 - Intellij IdeaBerkView Answer on Stackoverflow
Solution 3 - Intellij IdeaPratik KhadloyaView Answer on Stackoverflow
Solution 4 - Intellij IdeaYasir Shabbir ChoudharyView Answer on Stackoverflow
Solution 5 - Intellij IdeaGiliView Answer on Stackoverflow
Solution 6 - Intellij IdeaMiladView Answer on Stackoverflow
Solution 7 - Intellij IdeaRajitha BhanukaView Answer on Stackoverflow
Solution 8 - Intellij IdeaCode-ApprenticeView Answer on Stackoverflow