java project를 진행하던 중에 외부 라이브러리를 제대로 받아오지 못하는 문제가 발생했다.
외부 라이브러리를 추가해주어도 에러가 났다.
에러 코드는 다음과 같았다.
ERROR: org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler
- Unexpected error occurred in scheduled task. java.lang.NoClassDefFoundError:
원인
추가로 이 문제에 대해서 찾아보니깐,
java.lang.NoClassDefFoundError가 발생하는 이유는 컴파일 환경에서는 클래스 참조가 되었지만 실행 환경에서는 해당 클래스를 찾을수 없는 경우 발생한다.
그래서 코딩을 할때는 아무 문제가 없다가 spring boot나 was로 실행 시킬 때 만나거나, PC에서 개발 할때는 아무 문제가 없다가 서버에 올렸을 때 만나게 된다.
내용 출처 : https://nhj12311.tistory.com/84
해결방안
Web Deployment Assembly에 해당 라이브러리를 등록해주면 해결되는 문제이다.
이 부분은 배포할 디렉토리의 매핑정보를 관리해준다.