2012-04-09 6 views
3

Wenn ich in einer Unix-Umgebung einen Java-Code ausführe und ihn mit anderen Parametern erneut ausführen möchte, kann ich ihn ohne Datenverlust neu kompilieren ? Wird die vorherige Java-Aufgabe noch ausgeführt, ohne dass Sie stecken bleiben?Erneutes Kompilieren und erneutes Ausführen eines Java-Codes während der Ausführung

Cheers, Simone

+0

Ihre Frage ist ein wenig verwirrend. Ich bin mir nicht sicher, was du meinst. Könnten Sie vielleicht etwas Code zeigen? – Aidanc

+1

Wenn Sie in den meisten Umgebungen Java-.class-Dateien neu kompilieren, während die Anwendung ausgeführt wird, ist die ausgeführte Anwendung nicht betroffen - sie wird weiterhin mit dem alten Code ausgeführt. Wenn die App jedoch noch nicht alles geladen hat, werden .class-Dateien, die noch nicht von der App referenziert wurden, unerwartet aufgenommen, was zu einem "ungewöhnlichen" Verhalten führt. –

+0

Nun, es gibt [HCR] (http://wiki.eclipse.org/FAQ_What_is_hot_code_replace%3F) und ähnliche Dinge – Voo

Antwort

3

Sie können multilpe Instanzen des gleichen Java-Programm mit verschiedenen (Befehlszeile) Parameter ohne erneute Kompilierung ausgeführt werden.

Das Ausführen verschiedener Versionen desselben Programms und das erneute Kompilieren zur Laufzeit ist möglich, aber wenn Sie eine Klassendatei ändern, während das Programm ausgeführt wird, kann sich dies auf die aktuelle Laufzeit auswirken, wenn diese Datei noch nicht geladen wurde. Sie sollten eine weitere Arbeitskopie der Klassendateien oder JAR-Dateien erstellen und dann die Kopie starten, nachdem Sie sie geändert haben, wenn Sie zwei verschiedene Versionen gleichzeitig ausführen möchten. Wenn Ihre Programmänderungen in Eigenschaftendatei oder andere Konfigurationsdatei-Mods geändert werden können, denke ich, dass das eine bessere Lösung ist.

Verwandte Themen