Programming/JSP,Servlet

[JSP/Servlet] JSP/Servlet 500 에러 "javax.servlet.ServletException: java.lang.NoClassDefFoundError" 해결 방법

Nirsa 2022. 5. 10. 23:22
반응형

JSP/Servlet 500 에러 "javax.servlet.ServletException: java.lang.NoClassDefFoundError" 해결 방법

JSP 사용 시 500 에러 "javax.servlet.ServletException: java.lang.NoClassDefFoundError"가 발생할때가 있는데, 이는 보통 세팅에서의 문제로 인해 발생하는 경우가 많습니다.

보통 웹 애플리케이션 디렉터리 구조를 가지고 있는 환경에서 Build Path가 WEB/bin에 설정되어 있어 class 파일을 찾을 수 없거나, Servlet에 필요한 jar 파일을 라이브러리에 적용시키지 않아 발생하는 에러 입니다.

Build Path의 문제일 경우 자신의 디렉터리 구조에 맞게 변경해야 합니다. (ex. WEB/webapp/WEB-INF/classes)

아래 내용부터는 이클립스 기준으로 Build Path를 변경하기 때문에, 각자 환경에 맞게 변경 해주시면 됩니다.

※ jar 파일이 없어서 발생하는 경우는 해당 포스팅에서 다루지 않겠습니다.

 

1. 프로젝트 우클릭 → Build Path → Configure Build Path...

 

2. Java Build Path → Source → Browse...

 

3. classes 폴더 선택
※ 환경마다 네이밍 등 조금씩 다릅니다. 본인의 환경에 맞는 경로를 찾아 class 폴더를 선택하셔야 합니다.

 

4. Apply and close 클릭

변경된 output folder 경로를 확인 후 적용 시킵니다.

 

5. 이전에 사용한 폴더 삭제 여부

어느걸 선택해도 적용은 됩니다. WEB/bin/class 파일들이 삭제될 수 있으니 참고하여 Yes/No 선택 해주시면 됩니다.

반응형