Java

Auto-recompile und hot-deploy in IntelliJ

Wie bekommen ich IntelliJ IDEA dazu, dass Änderungen am Code während des Debuggens automatisch neu compiliert und deployt werden, ohne dass der Debug-Prozess neu gestartet werden muss.

Hot reload im IntelliJ Debugger
Evan Krause

Der Eclipse Debugger bietet einige Vorteile gegenüber dem Debugger von IntelliJ. Neben der besseren Geschwindigkeit ist ein Vorteil, dass Code-Änderungen automatisch neu compiliert werden (auto recompile) und in laufenden Anwendungen (egal ob run oder debug) ersetzt werden (hot deploy). Dadurch kann man Änderungen sofort testen, ohne den Debug-Prozess neu starten zu müssen.

In IntelliJ kann man dieses Verhalten folgendermaßen einstellen.

Auto recompile

Die aktuell geöffnete Klasse kann mit Strg+shift+F9 neu compiliert werden. Das gesamte Projekt mit Strg+F9 (was nicht länger dauern sollte, da nur geänderte Klassen neu compiliert werden).

In den Einstellungen kann allerdings das automatische Compilieren aktiviert werden:

Zweimal hintereinander die Shift Taste oder Strg+shift+A drücken und in das Suchfeld build auto eintippen:

Es öffnet sich der Einstellungen Dialog und die Option kann angeklickt werden:

Hot deploy

Das Austauschen der compilierten Klassen in laufenden Prozessen kann seit ein paar Monaten (seit 2021.2) ebenfalls direkt in den Einstellungen erfolgen (zuvor nur über den registry code compiler.automake.allow.when.app.running).

Zuerst die Option in den Einstellungen finden (s. o.) und dann anklicken:

Viel Erfolg! :wink: