본문 바로가기
  • 실행력이 모든걸 결정한다
DB/DB Settings

Build할 때만 UnsatisfiedDependencyException가 뜨는 경우

by 김코더 김주역 2022. 1. 20.
반응형

문제

Eclipse나 Intellij 에디터에서 그냥 실행했을 때는 분명히 잘 됐는데, Build로 얻은 실행 가능한 jar 파일로 실행(java -jar)할 때만 UnsatisfiedDependencyException라는 에러가 출력됐다.

 

 

원인

필자의 경우에는 mysql-connector을 pom.xml에 등록하지 않았고, 다운로드 페이지에서 jar을 직접 다운 받아서 외부 라이브러리에 추가해줬었다.

아마 빌드할 때, 다운로드 페이지에서 직접 다운받은 jar 라이브러리가 패키징에서 제외됐던 것 같다.

 

 

해결

pom.xml에서도 같은 버전의 connector을 등록해줬더니 java -jar로 실행했을 때에도 잘 실행 되었다.

 

에디터에서 실행 했을 때도 UnsatisfiedDependencyException 에러가 떴다면, Bean 등록이 잘 안되었거나 DB 관련 코드에 문제가 있을 확률이 높다.

Bean 문제가 의심된다면 @Controller, @Service, @Repository 처럼 Bean을 등록하는 어노테이션들이 누락되지 않았는지 확인해보는 것이 좋다.

DB 문제가 의심된다면 connector같은 DB 관련 라이브러리의 버전 문제일 가능성이 제일 크고, 코드 실수가 있지는 않았는지 확인해보는 것이 좋다. Mysql의 경우에는 8.0 이상 버전을 쓴다면 테이블의 대소문자도 잘 구분해야 한다.

반응형

댓글