尚未设置SBT系统属性

时间:2017-05-09 10:09:18

标签: scala sbt

我正在尝试sbt flywayMigrate -Denvi=foo但系统属性envi未设置。我非常感谢用于调试的指针,因为我现在还没有成功地找出这个问题的原因。到目前为止,SO或其他任何地方都没有问题。

build.sbt 中,这将用作变量。

lazy val envi = sys.props.getOrElse("envi", "default")

由于共享/团队回购考虑因素,目前无法使用sys.env.get("ENVI")

sbt console -Denvi=foo
scala> sys.props.get("envi")
res0: Option[String] = None
scala> sys.props.getOrElse("envi", "default")
res1: Option[String] = default
使用scala

安装

sbtbrew

1 个答案:

答案 0 :(得分:1)

您必须在命令之前放置环境变量:

sbt -Denvi=foo console

否则它将作为参数传递给主类而不是JVM。

或者,您可以在启动JAVA_OPTS之前在sbt变量中设置环境:

export JAVA_OPTS="-Denvi=foo"
sbt console
scala> sys.props.getOrElse("envi", "default")
res0: String = foo
相关问题