考慮下面的「主」應用程序:傳遞命令行參數到SBT的設置類型安全配置鍵值
package net
import com.typesafe.config.ConfigFactory
object Main extends App {
override def main(args: Array[String]) {
val x = ConfigFactory.load().getString("app.bar")
println(s"x: $x")
}
}
和application.conf
:
app {
bar = ${?BAR}
}
我可以通過在命令行通過參數:
$sbt test:run -DBAR=bippy
[info] Set current project to typesafe_config_env_var
(in build file:.../typesafe_config_env_var/)
[info] Running net.Main
x: bippy
我寫了這個簡單的例子,試圖重現problem解析命令行參數。但是,正如上面的輸出所示,此測試成功完成。
這是在sbt中傳遞命令行參數的標準方式嗎?
[SBT:啓動非默認項目的主類的命令行'run']的可能重複(http://stackoverflow.com/questions/7674615/sbt-start-a-command-line-運行一個非默認項目的主類) –
但我不知道如何通過'-Dkey = value'命令行設置'app.bar'爲一個值論據。 @ChrisMartin可以用這種方法嗎? –