同时为基于SBT的项目的main()s

时间:2014-11-28 23:03:14

标签: scala playframework sbt distributed

说,你有基于sbt的项目针对一些分布式目标。也就是说,您的项目包含Play应用程序(带有一些子项目层次结构)以及少数其他自己的服务,填充测试数据的工具,加载等等。您看,开发项目您不可避免地想要同时启动许多main()s。

目前我已经通过这种方式确定了问题:sbt终端会话用于运行Play,Scala IDE用于其他人。为了消除任何冲突,我不得不为Play编写自己的模板引擎和路由器(即在Play的条款中删除托管来源)。

OTOH,我不想强​​烈关注Scala IDE(或任何IDE),它们有机会同时启动许多main()s(跟踪每个主题的输出)的sbt会话本身

分布式系统开发的基于sbt的开发人员环境是什么?

1 个答案:

答案 0 :(得分:0)

虽然没有立即提供帮助,但您可能对我们有些人正在努力添加到sbt的backgroundRun任务感兴趣。目前,API在此插件代码中: https://github.com/sbt/sbt-remote-control/blob/master/ui-interface/src/main/scala/sbt/BackgroundRun.scala

它只是一个没有的版本 阻止你可以在bash中尽可能多地管理工作。

支持Play比支持泛型运行更难,它需要这个PR:https://github.com/playframework/playframework/pull/3591

无论如何,这并不是所有已发布和正在发挥作用的。

我认为最好的短期解决方案是运行多个sbt实例,并注意不要一次编译多个实例。如果你得到任何奇怪的构建或类路径错误,请做一个干净的,并确保它不是由多个编译相互踩踏造成的。