【发布时间】:2017-12-28 13:46:37
【问题描述】:
假设我有以下代码
object Cli extends App {
Iterator.continually(StdIn.readLine()).takeWhile(!_.equals("quit")).foreach { command =>
println(s"[$command RESULT] " + ApiClient.executeCommand(command))
}
}
和自定义 sbt 命令
val cli = inputKey[Unit]("Run client")
cli := {
"java -cp my.jar Cli".!
}
如果我从控制台运行“java -cp my.jar Cli”,它可以正常工作。但是当我调用“sbt cli”时,它会因 NullPointerException 而失败
Exception in thread "main" java.lang.NullPointerException
at Cli$$anonfun$2.apply(Cli.scala:14)
如何定义 sbt 任务以从标准输入读取命令?
【问题讨论】: