
Ich möchte zwei separate Computer verwenden: einen zum Programmieren einer Anwendung und einen zum Testen. Ist es möglich, das Java-Programm zwischen den beiden Computern auszuführen, ohne es bei jeder Codeänderung neu erstellen zu müssen, sondern den Code per Hot-Swap auszutauschen?
Antwort1
Jedes Mal, wenn Sie den Code ändern, müssen Sie die App neu erstellen. Die Toolchains sind intelligent genug, um die App bei Bedarf nur teilweise neu zu erstellen, aber das ist nicht relevant – Sie müssen die App neu erstellen, und ich denke, es ist sinnvoller, dies auf Ihrer Programmiermaschine zu tun, nicht auf Ihrer Testmaschine.
Jetzt müssen Sie es auf der Testmaschine bereitstellen. Sie haben nicht erwähnt, welche IDE Sie verwenden, aber Eclipse ist wahrscheinlich die gebräuchlichste für Java und ermöglicht es Ihnen, benutzerdefinierte Schritte des Build-Prozesses zu definieren. Mit anderen Worten könnten Sie am Ende des Build-Prozesses einen Schritt hinzufügen, der die JAR-Datei in eine Netzwerkfreigabe kopiert, die mit der Testmaschine verknüpft ist. Sehen Sie sich die Projekteigenschaften --> Builder --> Neu an. Was genau Sie hinzufügen, hängt von Ihrem Betriebssystem ab, sollte aber Shell-Befehle und Eclipse-Variablen verwenden, z. B. ${project_loc}. Die meisten IDEs sollten etwas Ähnliches haben.
Als nächstes müssen Sie auf Ihrem Testcomputer etwas einrichten, das die App jedes Mal ausführt, wenn sich die JAR-Datei ändert. Hier sind einige Antworten, die beschreiben, wie das geht:
https://stackoverflow.com/questions/4060212/in-linux-wie-führe-ich-ein-Shell-Skript-aus-wenn-sich-eine-Datei-oder-ein-Verzeichnis-ändert
Wie führe ich einen Befehl aus, wenn sich eine Datei ändert?