Intellij에서 실행/테스트 할 때 HOCON에 임의의 환경 변수를 전달하고 싶습니다.
상황
application.confdetabesu.username = john.doe
detabesu.password = ${PASSWORD}
다음과 같은 이유로 일부 설정 값을 환경 변수에서 HOCON을 통해 프로그램에 전달합니다.
detabesu.username = john.doe
detabesu.password = ${PASSWORD}
문제
sbt 경유나 패키징 후에 설정치를 건네줄 경우는 문제 없지만, Intellij로부터 직접 실행하거나 테스트를 실행하는 경우는 어떻게 하면 좋을지 모른다.
해결책
Intellij 실행 설정 (Run / Debug Configurations)에서 환경 변수 전달 (권장)
위와 같이 환경 변수용 입력 양식이 준비되어 있는 경우에는 거기에 입력하면 된다.
sbt로부터 실행하는 경우 등은 환경 변수용의 폼이 준비되어 있지 않다. 이러한 경우는 VM parameters를 사용한다.
lightbend/config: configuration library for JVM languages using HOCON files
users can override the config with Java system properties, java -Dmyapp.foo.bar=10
와 같이 쓰여진 대로 Java의 시스템 프로퍼티를 사용하는 것으로 HOCON에 임의의 값을 건네줄 수가 1
이미지와 같이 -D環境変数名=値
의 형식으로 기술한다.
Intellij 자체에 환경 변수 전달 (비추천)
별로 추천할 수 없다. 라는 것은 여기서 설정한 환경 변수는 열려 있는 프로젝트 등에 관계없이 일률 설정되어 버리기 때문에, 다른 프로젝트에서 같은 환경 변수명을 사용해 다른 값을 설정하고 싶은 경우 등에 혼란이 일어나기 쉽기 때문.
Linux의 경우
Intellij의 기동 커맨드 전에 환경 변수를 건네주면 된다.
PASSWORD=abc idea&
우분투의 launcher등에 등록하고 있는 경우, 우선 .desktop의 장소를 특정한다.
locate intellij-idea-community_intellij-idea-community.desktop
그 후 .desktop 파일의 Exec 부분을 다시 쓰고 모든 환경 변수를 전달합니다. .
intellij-idea-community_intellij-idea-community.desktop[Desktop Entry]
Type=Application
Name=IntelliJ IDEA Community Edition
Exec=env PASSWORD=abc /snap/bin/intellij-idea-community %f
Terminal=false
StartupWMClass=jetbrains-idea-ce
MAC의 경우
Linux와 같지만 .desktop 파일에 해당하는 것은 없고, 그것에 해당하는 launchctl을 사용한 설정 방법은 상당히 번거롭다.
Intellij 실행 설정 (Run / Debug Configurations)에서 환경 변수 전달 (권장)
위와 같이 환경 변수용 입력 양식이 준비되어 있는 경우에는 거기에 입력하면 된다.
sbt로부터 실행하는 경우 등은 환경 변수용의 폼이 준비되어 있지 않다. 이러한 경우는 VM parameters를 사용한다.
lightbend/config: configuration library for JVM languages using HOCON files
users can override the config with Java system properties,
java -Dmyapp.foo.bar=10
와 같이 쓰여진 대로 Java의 시스템 프로퍼티를 사용하는 것으로 HOCON에 임의의 값을 건네줄 수가 1
이미지와 같이
-D環境変数名=値
의 형식으로 기술한다.Intellij 자체에 환경 변수 전달 (비추천)
별로 추천할 수 없다. 라는 것은 여기서 설정한 환경 변수는 열려 있는 프로젝트 등에 관계없이 일률 설정되어 버리기 때문에, 다른 프로젝트에서 같은 환경 변수명을 사용해 다른 값을 설정하고 싶은 경우 등에 혼란이 일어나기 쉽기 때문.
Linux의 경우
Intellij의 기동 커맨드 전에 환경 변수를 건네주면 된다.
PASSWORD=abc idea&
우분투의 launcher등에 등록하고 있는 경우, 우선 .desktop의 장소를 특정한다.
locate intellij-idea-community_intellij-idea-community.desktop
그 후 .desktop 파일의 Exec 부분을 다시 쓰고 모든 환경 변수를 전달합니다. .
intellij-idea-community_intellij-idea-community.desktop
[Desktop Entry]
Type=Application
Name=IntelliJ IDEA Community Edition
Exec=env PASSWORD=abc /snap/bin/intellij-idea-community %f
Terminal=false
StartupWMClass=jetbrains-idea-ce
MAC의 경우
Linux와 같지만 .desktop 파일에 해당하는 것은 없고, 그것에 해당하는 launchctl을 사용한 설정 방법은 상당히 번거롭다.
Windows의 경우
TBW
엄밀히 말하면 환경 변수와 시스템 속성은 다르지만 이번에는 이야기를 단순화하기 위해 혼란스럽게 작성되었습니다.
Reference
이 문제에 관하여(Intellij에서 실행/테스트 할 때 HOCON에 임의의 환경 변수를 전달하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/bigwheel/items/c3bcce90ac658cac4788텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)