답변:
스칼라 2.9부터는 sys.env
같은 효과를 사용할 수 있습니다 .
scala> sys.env("HOME")
res0: String = /home/paradigmatic
Java 대신 Scala API를 사용하는 것이 좋습니다. 현재 스칼라를 JVM (.NET, javascript, native 등) 이외의 다른 플랫폼으로 컴파일하는 프로젝트가 여러 개 있습니다. Java API에 대한 종속성을 줄이면 코드를 더 이식 가능하게 만들 수 있습니다.
sys.env
단지 Map
. 어떤 방법을 사용 하든지 상관 없습니다.
sys.env.getOrElse("VARIABLE", "default value")
환경 변수가 정의되지 않은 경우에도 도움이되었습니다.
같은 길:
scala> System.getenv("HOME")
res0: java.lang.String = /Users/dhg
Lightbend의 구성 라이브러리가 사용되면 (기본적으로 Play2 및 Akka에서) 다음을 사용할 수 있습니다
foo = "default value"
foo = ${?VAR_NAME}
환경 변수 VAR_NAME이 존재하는 경우 foo를 대체하는 구문 https://github.com/typesafehub/config#optional-system-or-env-variable-overrides에 대한 자세한 내용
모든 환경 변수 를 인쇄하려면
System.getenv.forEach((name, value) => println(s"$name: $value"))
error: missing parameter type
그냥 복사하여 붙여 넣으면 args에.
(name: String, value: String)
하면가 나타납니다 error: type mismatch; found : (String, String) => Unit required: java.util.function.BiConsumer[_ >: String, _ >: String]
.
sys.env.get("VARIABLE")
시키는Option[String]
대신 사용 하는 것이 좋습니다.