스칼라에서 환경 변수를 읽는 방법
Java에서는 환경 변수 읽기가로 수행됩니다 System.getenv()
.
스칼라에서 이것을 할 수있는 방법이 있습니까?
스칼라 2.9부터는 sys.env
같은 효과를 사용할 수 있습니다 .
scala> sys.env("HOME")
res0: String = /home/paradigmatic
Java 대신 Scala API를 사용하는 것이 좋습니다. 현재 스칼라를 JVM (.NET, javascript, native 등) 이외의 다른 플랫폼으로 컴파일하는 프로젝트가 여러 개 있습니다. Java API에 대한 종속성을 줄이면 코드를 더 이식 가능하게 만들 수 있습니다.
객체가 있습니다 :
scala.util.Properties
여기에는 다음을 포함하여 환경 정보를 얻는 데 사용할 수있는 메소드 모음이 있습니다.
scala.util.Properties.envOrElse("HOME", "/myhome" )
같은 길:
scala> System.getenv("HOME")
res0: java.lang.String = /Users/dhg
지도 를 getOrElse
통해 기본값을 직접 사용 sys.env
( val myenv: Map[String, String] = sys.env
) :
sys.env.getOrElse(envVariable, defaultValue)
의 컨텐츠를 얻 envVariable
거나 존재하지 않는 경우 의 컨텐츠를 얻 습니다 defaultValue
.
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"))
참고 URL : https://stackoverflow.com/questions/9997292/how-to-read-environment-variables-in-scala
'Programing' 카테고리의 다른 글
Spring Data JPA에 커스텀 메소드를 추가하는 방법 (0) | 2020.06.20 |
---|---|
안드로이드 이미지 캐싱 (0) | 2020.06.20 |
두 개의 두 숫자 사이의 난수 (0) | 2020.06.20 |
UIPanGestureRecognizer-세로 또는 가로 만 (0) | 2020.06.20 |
LINQ To Entity [duplicate] 세션에서 다른 스레드가 실행 중이므로 새 트랜잭션이 허용되지 않습니다. (0) | 2020.06.20 |