코코무의 코딩캔버스

[Error 스프링] Junit 테스트 시 java.lang.NoClassDefFoundError 오류 해결 본문

Error

[Error 스프링] Junit 테스트 시 java.lang.NoClassDefFoundError 오류 해결

코코무 2024. 3. 7. 11:46
java.lang.NoClassDefFoundError: javax/servlet/SessionCookieConfig

 

 

AOP를 공부하던 중 @Test를 돌렸는데 위와 같은 오류가 계속 떴습니다.

 

이는 스프링에서 서블릿 API를 읽지 못해 발생하는데, 이는 라이브러리가 누락되었거나, 존재한다고 해도 런타임 시 라이브러리를 읽지 못할 때 발생합니다.

 

그래서 pom.xml 파일에 서블릿과 관련된 코드를 확인해 보아야 합니다.

 

저 같은 경우는 xml 파일에 서블릿 라이브러리가 존재했지만 런타임 때 라이브러리를 읽지 못하는 케이스였습니다.

 

 

이 때는 서블릿 버전 3.1 이하에서는 SessionCookieConfig 클래스를 찾지 못하기 때문에

서블릿의 버전을 업그레이드 해 주어야 합니다.

 

 


결론

1. 서블릿 API가 있는지 xml 파일에서 확인합니다.

2. 없다면 추가해주고, 있다면 버전 업그레이드를 해 줍니다.