我正在使用Sbt进行持续集成(Bamboo)。我想检查所有环境变量是否已设置或获取描述性错误消息。我使用以下方法:
def env(n: String) = Option(System.getenv(n)).getOrElse(throw new RuntimeException("Undefined required environment variable " + n))
val mySetting = env("REQUIRED_ENV_VAR") + "..."
相反,我得到了
[error] java.lang.ExceptionInInitializerError
[error] Use 'last' for the full log.
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q
两个问题:
答案 0 :(得分:8)
sbt将不会启用交互模式" (这样一个hacky)技巧:
cat /dev/null | sbt taskname
或者如果您无法使用管道,请创建如下的shell脚本:
#!/bin/sh
sbt "$@" < /dev/null
答案 1 :(得分:0)
在sbt v1.3.9(可能更早)中,有--batch
开关。
$ sbt --help
Usage: sbt [options]
...
--batch disable interactive mode
...