【发布时间】:2014-09-11 03:32:09
【问题描述】:
我正在使用 sbt 0.13.5。我的项目中有几个子项目,特别是喷雾客户端和喷雾路由服务器。 我希望能够定义几个“运行”命令,例如 runClient 和 runServer。 对于每个子项目,我创建一个 mainClass 并将其设置在 sbt 文件中。 现在,我希望能够: - 在不同的终端会话中启动几个 sbt。 - 在一个会话中,键入 runClient - 在另一个会话中,键入 runServer。 在 sbt 中有没有合适的方法来做到这一点?我试图将 runServer 定义为一个新命令:
def runServer = Command.command("runServer") { state =>
println("run Server")
run in Compile in server
state
}
def runClient = Command.command("runClient") { state =>
println("run Client")
run in Compile in client
state
}
server 是我的服务器项目。 我在项目的命令中添加了 runServer :
lazy val root = Project(id = "myproject", base = file("."),
settings = commands ++= Seq(runServer, runClient)
).aggregate(client, server)
在 sbt 中,如果我键入 runServer,println 可以工作,但没有启动任何内容。 你知道如何执行“运行”语句吗?
谢谢。
【问题讨论】: