/////
Search
Duplicate

Spring boot 환경변수 주입 시 빈값 vs 아예 적지 않기

기록 날짜
2024/02/01 20:18
작성자
김재윤
주제
Spring
환경변수

문제

사용하지 않는 환경변수서버에서 jar 파일로 실행아예 주입을 해주지 않을 때 실행이 되지 않음.
// application.yml spring: profiles: active: local data: redis: port: 6379 primary: host: ${P_URL} replica: host: ${R_URL}
YAML
복사
application.yml 파일은 위와 같다.
java -jar redis21-0.0.1-SNAPSHOT.jar --P_URL=localhost
Shell
복사
여기서 위와 같이 실행하면 (jar 파일 실행 시 —<환경변수-키>=<환경변수-값> 으로 적어주면 환경변수 주입이 된다.
2024-02-01T13:04:58.545Z ERROR 6137 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'redisConfig': Injection of autowired dependencies failed
Shell
복사
에러가 난다.

해결

java -jar redis21-0.0.1-SNAPSHOT.jar --P_URL=localhost --R_URL=
Shell
복사
이렇게 사용하지 않는 변수라도 --R_URL= 로 빈값을 넣어주면 실행이 된다.
2024-02-01T13:05:30.201Z INFO 6158 --- [ main] ex.redis21.RedisConfig : replicaHost :
Shell
복사
로그로 확인해보니 빈값이라도 들어는 간다.