gpt4 book ai didi

scala - SBT 环境变量从何而来?

转载 作者:行者123 更新时间:2023-12-04 12:50:34 28 4
gpt4 key购买 nike

我正在使用 Scala (2.12.7) 和 SBT (1.2.7) 迈出我的第一步。
在某些时候,我想从环境中获得 secret 值(value):

sys.env("SECRET_TOKEN")

问题是,在 sbt shell 中, SECRET_TOKEN未定义,因此应用程序崩溃。

所以:
$ export SECRET_TOKEN="xxx"
$ sbt
[... sbt loads]
sbt> run
[ crashes because of the env var not found ]

这就像 sbt shell 只会获得当前环境的一个子集。

我错过了什么吗?

谢谢

最佳答案

sbt (脚本 + 启动器) 只是启动一个花哨的 java进程,它应该从父进程继承环境变量。

给定的

$ export SECRET_TOKEN="xxx"

两者 build.sbt以及您在 run 期间的申请应该可以访问 sys.env("SECRET_TOKEN") .

在评论区,布鲁诺建议 SECRET_TOKEN="xxx" sbt ,这显然有效,但我不知道这与 export 有何不同.

任何状况之下,
object Hello extends App {
println(sys.env("SECRET_TOKEN"))
}

为我工作
sbt:hello> run
[info] Running Hello
xxx

关于scala - SBT 环境变量从何而来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54824545/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com