使用~run
命令sbt会在源文件发生变化时为我重新运行可执行目标。这很好,但如果目标是一个长时间运行的服务器进程,sbt将暂停,直到子进程终止,因此源更改不起作用。
即使目标代码正在运行,我也希望有sbt监视器并重新编译我的源代码,并在成功构建时重新启动该进程。有人试过这个吗?
答案 0 :(得分:8)
(对不起,验尸回复)
https://github.com/spray/sbt-revolver只是为了解决这个问题而创建的。
答案 1 :(得分:5)
这是通过内置的“〜”功能无法实现的。问题是,“〜”前缀任务必须完成。如果它是侦听某些端口的服务器应用程序,则必须先将其停止。
也许您可以创建自己的任务或修改run
任务,以终止/退出正在运行的应用程序(例如,在侦听端口上发送魔术退出字符串?)。有关更多信息,请参阅此处:
http://code.google.com/p/simple-build-tool/wiki/CustomActions
答案 2 :(得分:1)