문제
사용하지 않는 환경변수를 서버에서 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
복사
로그로 확인해보니 빈값이라도 들어는 간다.