我有一个多项目sbt构建(每个项目都是微服务)。 为了方便开发,我想同时运行所有它们。 sbt可能吗?
lazy val root = (project in file("."))
.aggregate(
serviceA,
serviceB
)
lazy val serviceA = (project in file("service-a"))
...
lazy val serviceB = (project in file("service-b"))
...
我可以分别使用serviceA/run
或serviceB/run
来运行它们
但是我需要使用单个sbt命令运行serviceA和serviceB(它们将在不同的端口上运行)
答案 0 :(得分:0)
您可以尝试使用Ammonite
我们使用Ammonite脚本(例如runner.sc
)来运行sbt。我从来没有用过Future
,因为我们一件事又一件事。
或使用简单的bash文件:
您的要求或多或少是在后台运行 sbt 。 这是一个相应的问题:how-to-run-sbt-as-daemon
将其带入您的问题,看起来像这样:
#!/usr/bin/env bash
sbt -Djline.terminal=jline.UnsupportedTerminal serviceA/run &
sbt -Djline.terminal=jline.UnsupportedTerminal serviceB/run &
我无法测试,请告诉我它是否有效。