Come impostare SBT per riavviare a lungo in esecuzione processo server sulla modifica del codice?

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

  •  01-10-2019
  •  | 
  •  

Domanda

Con il comando sbt ~run si ri-eseguire un bersaglio eseguibile per me ogni volta che un file sorgente cambia. Questo è bello, ma se il bersaglio è un processo server in esecuzione a lungo, SBT è sospesa fino alla termina bambino, così i cambiamenti di origine non hanno alcun effetto.

Mi piacerebbe avere monitor di SBT e ricompilare le mie fonti, anche mentre il codice di destinazione è in esecuzione, e riavviare il processo su una build di successo. Qualcuno ha cercato di impostare questa funzione?

È stato utile?

Soluzione

(Ci scusiamo per la risposta post mortem)

https://github.com/spray/sbt-revolver è stato creato proprio per risolvere questo problema.

Altri suggerimenti

Questo non è possibile tramite la funzione integrata di "~". Il problema è che il "~" compito -prefixed deve completare. Se si tratta di un ascolto un'applicazione server su alcune porte, si dispone di fermarlo prima.

Forse si potrebbe creare il proprio compito o modificare il compito run, per uccidere / chiudere l'applicazione in esecuzione (ad esempio l'invio di una magia uscita stringa sulla porta di ascolto?). Vedere questo per ulteriori informazioni:

http://code.google.com/p/simple- l'accumulo di strumento / wiki / CustomActions

JRebel potrebbe aiutare con classe dinamica ricaricando se questo è quello che cercate. Libero Scala licenza avaliable qui . Informazioni sull'utilizzo alla SBT sito .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top