如何设置sbt以在代码更改时重新启动长时间运行的服务器进程?

Cro*_*bie 6 sbt

~run每当源文件发生更改时,使用命令sbt将为我重新运行可执行目标.这很好,但如果目标是长时间运行的服务器进程,sbt将暂停,直到子进程终止,因此源更改无效.

即使目标代码正在运行,我也希望有sbt监视器并重新编译我的源代码,并在成功构建时重新启动该进程.有人试过这个吗?

Car*_*yra 8

(对不起,验尸回复)

https://github.com/spray/sbt-revolver创建只是为了解决这个问题.


mic*_*ebe 5

这是通过内置的"〜"功能无法实现的.问题是,"〜"前缀任务必须完成.如果是侦听某些端口的服务器应用程序,则必须先将其停止.

也许您可以创建自己的任务或修改run任务,杀死/退出正在运行的应用程序(例如,在侦听端口上发送魔术退出字符串?).有关更多信息,请参阅此

http://code.google.com/p/simple-build-tool/wiki/CustomActions