Переменные окружения, настроенные из build.sbt - PullRequest
0 голосов
/ 11 марта 2019

Я пытался настроить переменные окружения напрямую из файла build.sbt, так как мне нужно использовать имя файла сборки, которое определено в этом файле.Поэтому я пытался вывести результат определенной переменной среды, используя echo и в контексте кода приложения Scala sys.props.get("SPARK_APP_JAR_PATH"), но результат пустой или отсутствует соответственно.

Что может быть не так с конфигурацией переменной среды?

Так я определил переменную env в build.sbt:

    assemblyJarName in assembly := "spark_app_example_test.jar"

    mainClass in assembly := Some("example.SparkAppExample")
    test in assembly := {}
    fork := true

    val envVars = sys.props("SPARK_APP_JAR_PATH") = "/path/to/jar/file"

1 Ответ

0 голосов
/ 11 марта 2019

Вот как это работает для меня:

lazy val dockerRepo: String = sys.props.getOrElse("DOCKER_REPO", s"bpf.docker.repo")

Или с вашим примером:

lazy val envVars = sys.props.getOrElse("SPARK_APP_JAR_PATH", "/path/to/jar/file")

Согласно документации:

Свойства системы могутбыть предоставлены либо как параметры JVM, либо как аргументы SBT, в обоих случаях как -Dprop = значение.Следующие свойства влияют на выполнение SBT.

например, sbt -DSPARK_APP_JAR_PATH=/path/to/jar/file

См. https://www.scala -sbt.org / release / docs / Command-Line-Reference.html # Command + Line + Options

...