
Dirk Randhahn
Teamleiter, Softwarearchitekt
Veröffentlicht am
7. Juni 2022

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:


Hier schreibt
Dirk Randhahn
Als erfahrener Softwarearchitekt und Entwickler bei pep.digital liegt mein Fokus auf der Gestaltung hochwertiger Softwarearchitekturen und der Entwicklung leistungsstarker Java-Anwendungen. Zudem beschäftige ich mich auch mit anderen Themen wie Security, Build-Pipelines, Clean Code, ...
Wenn die Zeit es erlaubt, verfasse ich gelegentlich Blogbeiträge – immer dann, wenn ich denke, dass ich meinen Kollegen wertvolle Erkenntnisse mit auf den Weg geben kann.
Weitere interessante Artikel
Wir möchten hier nicht nur über Neuigkeiten aus dem Unternehmen berichten, sondern auch das Wissen und die Erfahrung unserer Experten teilen.

Branching – Alternativen durch Verzweigung
Kontrollstrukturen ermöglichen im Code eine Verzweigung. Verzweigungen steigern die Komplexität von Software. Ziel ist es trotz komplexer Anforderungen, ein einfaches System zu realisieren.

Kevin Erath
Geschäftsführer

Zwischen Integration und Operation trennen
Durch Aufteilung der Methoden in Integration und Operation entsteht verständlicherer Code. Dadurch steigt die Effizienz beim Entwickeln und es passieren auch deutlich weniger Fehler. Zwei Kriterien die wir bei der Umsetzung von Kundenprojekten sehr wichtig finden.

Kevin Erath
Geschäftsführer