我正在尝试访问sbt构建文件中的环境变量。如前所述,我使用jvm -D Option设置了环境变量
sbt -DaccessToken=***** compile
但是scala找不到变量
sys.env.get("accessToken").getOrElse(throw new RuntimeException("System variable 'accessToken' with the credentials is not set."))
为什么-D选项无效?如果我在Linux中用export设置了变量,那么一切都会正常。
您以-D
身份通过的任何内容都不是环境变量,因此无法读取为sys.env.get
。
您需要使用Java API读取它们
System.getProperty("accessToken")
其他选项是在启动sbt之前分配环境变量。例如,在bash中,可以这样进行,但这当然取决于您的环境。
accessToken=***** sbt compile