Ila*_*sta 7 scala environment-variables sbt
我正在使用Scala(2.12.7)和SBT(1.2.7)迈出第一步.在某些时候,我想从环境中获得秘密价值:
sys.env("SECRET_TOKEN")
Run Code Online (Sandbox Code Playgroud)
问题是,在sbt shell中,SECRET_TOKEN没有定义,因此应用程序崩溃.
所以:
$ export SECRET_TOKEN="xxx"
$ sbt
[... sbt loads]
sbt> run
[ crashes because of the env var not found ]
Run Code Online (Sandbox Code Playgroud)
这就像sbt shell只能获得当前环境的一个子集.
我错过了什么吗?
谢谢
sbt(脚本+启动器)只是启动一个奇特的java进程,它应该从父进程继承环境变量。
给定
$ export SECRET_TOKEN="xxx"
Run Code Online (Sandbox Code Playgroud)
两者build.sbt和您的应用程序都run应该有权访问sys.env("SECRET_TOKEN").
在评论部分,布鲁诺建议SECRET_TOKEN="xxx" sbt,这显然有效,但我不知道这与export.
任何状况之下,
object Hello extends App {
println(sys.env("SECRET_TOKEN"))
}
Run Code Online (Sandbox Code Playgroud)
为我工作
sbt:hello> run
[info] Running Hello
xxx
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
182 次 |
| 最近记录: |