我正在尝试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
安装 sbt
,brew
答案 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