我们有一个基于Unfiltered / Finagle / Netty的网络项目。在本地开发时,我们希望一次运行两个SBT命令:
run
运行本地服务器以进行测试~copyResources
在后台,以便对运行的webapp可见JS和CSS资源的更改到目前为止,我已经尝试了以下但没有成功
通过fork in run := true
设置run to fork,然后通过;run;~copyResources
调用它们。问题似乎是正在运行的子流程无法从SBT控制台接收输入,因此我们无法在合适的时间关闭它。
通过fork in copyResources := true
将~copyResources设置为fork,然后通过;~copyResources;run
调用它们。在copyResources中断之前,run命令才会启动。
尝试通过类似all run copyResources
的内容同时运行2个任务。我收到了错误消息Cannot mix input tasks with plain tasks/settings
。
答案 0 :(得分:0)
一种解决方案是使用sbt-revolver plugin。我创建了一个使用little sample project setup和Undertow的Handlebars。然后将其克隆到项目文件夹中:
> sbt
> re-start
> [press enter]
> ~copyResources
打开http://localhost:7070/foo
,然后修改template.hbs并重新加载。对于Unfiltered / Finagle设置,它应该类似。你怎么在Finagle之上喜欢Unfiltered?我们尝试了一下Finatra,但并不是那么喜欢它。
注意:执行re-start
时,您会看到以下消息:
[info] Application sbt-run-copy-resources not yet started
[info] Starting application sbt-run-copy-resources in the background ...
哪种表示插件会自动复制资源。这至少对我来说对于把手模板不起作用,因此需要额外的~copyResources
。