[Java] 시스템 환경변수는 System.getProperty가 아니라 System.getenv로 가져온다

2024. 2. 22. 03:29·JAVA/Application
목차
  1. 🪄 문제점:
  2. 🪄 해결:
  3. ✨ 의문

🪄 문제점:

ACCESS_KEY와 SECRET_KEY가 컨테이너 환경변수 지정까지는 문제 없이 되어있으나

스프링부트에서 System.getProperty("ACCESS_KEY")로 가져오지 못한다.

 

🪄 해결:

System.getenv()는 JVM이 실행되는 OS의 환경변수를 가져오고,
System.getProperty()는 JAVA 시스템 즉 JVM에서 가져오는 것이다. 다시 말해 JVM에 국한되며, 또 다시말해 플랫폼 독립적이다. 즉 이것은 시스템 환경변수를 가져오는 메서드가 아니다. 환경변수가 Java의 시스템 속성으로서 존재하는 경우만 getProperty()로 가져올 수 있다.

 

그러나 우리 상황에서는 Java의 변수가 아닌 OS의 환경변수를 가져오는 것이기 때문에 System.getenv()를 써야 한다.

 

예시

 

 

 

✨ 의문

jar파일 실행할 때 옵션으로 -Daccess_key 지정해서 VM에 전달하고 getProperty("access_key") 했는데도 왜 안됐지?

stackoverflow에 동일한 문제를 겪으신 분이 있던데, 그거에 대한 답변은 안 달려서 아직 난제!

 

'JAVA > Application' 카테고리의 다른 글

[Java][Backend] null 반환 리팩터링  (0) 2024.03.08
[Spring] AOP로 편리하게 jwt token 검증하기  (0) 2024.03.02
Spring의 캐싱 기능  (0) 2023.08.27
[자바/스프링] 비즈니스 로직 층 설계  (0) 2023.08.12
[자바/스프링] 데이터 액세스 층 설계  (1) 2023.08.11
  1. 🪄 문제점:
  2. 🪄 해결:
  3. ✨ 의문
'JAVA/Application' 카테고리의 다른 글
  • [Java][Backend] null 반환 리팩터링
  • [Spring] AOP로 편리하게 jwt token 검증하기
  • Spring의 캐싱 기능
  • [자바/스프링] 비즈니스 로직 층 설계
히어로맛쿠키
히어로맛쿠키
yeny_lab히어로맛쿠키 님의 블로그입니다.
  • 히어로맛쿠키
    yeny_lab
    히어로맛쿠키
  • 전체
    오늘
    어제
    • 분류 전체보기 (387)
      • 미분류글 (30)
        • ㅇ (2)
      • JAVA (84)
        • Effective Java (1)
        • Application (21)
      • 컴퓨터구조 & OS (28)
      • 자료구조 + 알고리즘 (43)
      • Database (12)
      • 컴파일러 (10)
      • 수학 (33)
        • 미분방정식 (12)
      • 데이터분석과 머신러닝 (38)
      • 기타 (58)
      • yyeeennyy (25)
  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
히어로맛쿠키
[Java] 시스템 환경변수는 System.getProperty가 아니라 System.getenv로 가져온다

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.