java.lang.NoClassDefFoundError
java.lang.NoClassDefFoundError
는 Java 런타임 환경에서 클래스를 로드하려고 했으나 실패한 경우 발생하는 오류이다. 이 오류는 컴파일 타임에는 문제가 없었지만, 런타임에 해당 클래스를 찾을 수 없을 때 발생한다.
commons-el
의존성이 추가되지 않았거나 JAR 파일에 포함되지 않은 경우.Class.forName()
또는 ClassLoader
를 사용해 동적으로 클래스를 로드하려는 경우 해당 클래스가 클래스패스에 없다면 발생ClassNotFoundException
과의 차이점ClassNotFoundException
:Class.forName()
또는 ClassLoader
같은 동적 로딩 메서드에서 클래스가 없을 때 발생.NoClassDefFoundError
:
NoClassDefFoundError
가 발생하면 의존하는 라이브러리의 버전이 서로 맞지 않아 발생하는 경우가 대부분이므로build.gradle
파일을 확인해보자.