로컬에서 테스트를 전부 통과한 스프링 부트 프로젝트가 CI/CD를 위해 Github로 푸시하니까 글 아래 첨부한 오류가 났다. 원인을 파악해보니 CI할 때 @Value로 오류가 발생한 것이였다. 상황은 아래와 같다.
.gitignore한 application-secret.properties에 있는 값을 @Value로 값을 바인딩해서 쓰는 클래스가 있었다..gitignore한 application-secret.properties 있기 때문에 예외가 발생하지 않았다.Github에는 application-secret.properties가 없기 때문에 Github Action이 CI를 할 때 해당 값을 찾지 못해서 예외가 발생했다.해당 값을 찾지 못했을 때는 default 값을 사용하게 하면 예외를 해결할 수 있다. @Value("${secret.value:not found!}")와 같이 :뒤에다가 not found!라는 default값을 줘서 해결했다.
java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:132
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException at ConstructorResolver.java:800
Caused by: org.springframework.beans.factory.BeanCreationException at AutowiredAnnotationBeanPostProcessor.java:405
Caused by: java.lang.IllegalArgumentException at PropertyPlaceholderHelper.java:180