Wie sbt einzurichten neu zu starten mit langen Laufzeit-Server-Prozess auf Codeänderung?

StackOverflow https://stackoverflow.com/questions/3131162

  •  01-10-2019
  •  | 
  •  

Frage

den Befehl ~run sbt Verwendung wird ein ausführbares Ziel für mich, wenn eine Quelldatei Änderungen erneut ausführen. Das ist schön, aber wenn das Ziel einen lang laufenden Server-Prozess ist, wird sbt, bis das Kind beendet ausgesetzt, so Quelle Änderungen keine Auswirkungen.

Ich möchte sbt-Monitor haben und meine Quellen neu kompilieren, selbst wenn der Zielcode ausgeführt wird, und starten Sie den Prozess auf einem erfolgreichen Build. Hat jemand versucht, diese bis zu setzen?

War es hilfreich?

Lösung

(Sorry für die Post-Mortem-Antwort)

https://github.com/spray/sbt-revolver erstellt wurde gerade dieses Problem zu lösen.

Andere Tipps

Dies ist nicht möglich, über die eingebauten „~“ Funktionalität. Das Problem ist, dass die „~“ -prefixed Aufgabe abzuschließen hat. Wenn es sich um eine Server-Anwendung Hören auf einige Ports ist, müssen Sie es zunächst stoppen.

Vielleicht könnten Sie Ihre eigene Aufgabe erstellen oder die run Aufgabe ändern, zu töten / Beenden Sie die laufende Anwendung (zum Beispiel eines magischen Exit-String auf dem Listening-Port zu senden?). Sehen Sie diese für weitere Informationen:

http://code.google.com/p/simple- Build-Werkzeug / wiki / CustomActions-

JRebel könnten Ihnen helfen mit dynamischer Klasse Nachladen, wenn das ist, was Sie nach. Freie Scala Lizenz avaliable hier . Nutzungsinformationen auf der SBT Website .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top