개발 환경인 IntelliJ에서 실행시에는 문제 없이 실행 되는 스프링 앱이 빌드만 하면 어떻게 해서도 이상한 문자만이 무한으로 출력되는 오류가 발생했습니다.
오류 이미지
위와 같은 방식으로 인코딩이 깨진채로 무한으로 출력되었습니다.
1. 우선 생각해본것은 단순히 인코딩이 깨진것을 의심해 보았습니다. 중간중간에 읽을 수 있는 코드들도 가끔 출력되기도 했고요.
그러나 인코딩이 단순히 꺠진것으로 보기에는 로그가 무한으로 출력되고 있기 때문에 다른 것이 문제라 생각되었습니다.
2. gradle의 문제. 빌드시 사용하는 gradlew 파일이 잘못되었다면 이렇게 오류가 날 수 있다 생각해서 살펴보았지만, 기본 설정에서 달라진 것이 없었습니다.
3. 결국 코드와 설정들을 하나씩 삭제해보며 체크해본 결과 문제는 application.yml 설정 파일에 있었습니다.
spring: banner: location:
이렇게 되어 있는 설정이 있었는데, 해당 설정에 값이 제대로 설정되어 있지 않아서 인지, 오류를 발생하는 것 같았습니다.
찾아보니 spring.banner.location은 Spring 앱 실행시 처음에 나오는 출력을 일부 커스터마이징 하는 기능으로 보였습니다. 출력을담당하던 설정이 잘못되었으니 이렇게 문제가 발생하지 않았나 싶습니다.