> For the complete documentation index, see [llms.txt](https://heunnajo.gitbook.io/mvc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://heunnajo.gitbook.io/mvc/3.-jsp-mvc/noclassdeffounderror-troubleshooting.md).

# NoClassDefFoundError(WebServlet) TroubleShooting

메인 클래스인 ServletApplication를 실행하려고 했는데 다음과 같은 ClassNotFoundException 오류가 났다! javax.servlet.annotation.Webservlet 과 관련된 클래스를 찾지 못한 것 같다.

![](https://4059345879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdtAbfiAnzkPUNovpHX%2F-MdymDBoKqB8AFA8ITv7%2F-MdynES-P0EfhG3uCwHo%2FClassNotFoundException.png?alt=media\&token=db793acc-800b-4536-90c1-e8fd6acff433)

그런데 ServletApplication 소스코드를 보면 @ServletComponentScan 애노테이션을 추가해줌으로써 하위 클래스들에서 Servlet 을 찾아서 자동으로 등록해준다! 그러니까 하위의 @WebServlet 들을 찾아서 실행해야하는데 구현한 클래스에 @WebServlet이 있는데도 불구하고, 애노테이션 스캔을 못하는 것같다.

![](https://4059345879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdtAbfiAnzkPUNovpHX%2F-MdymDBoKqB8AFA8ITv7%2F-MdynB2a6dozTworkplk%2FServletApplicatioin%20%E1%84%8F%E1%85%A9%E1%84%83%E1%85%B3%E1%84%8B%E1%85%AA%20NoClassDefFoundError%20%E1%84%8B%E1%85%A6%E1%84%85%E1%85%A5.png?alt=media\&token=24969939-6b07-4ecb-8283-0fcf513d7ae1)

해결 방법\
프로젝트 시작 초기에 빌드, 실행 속도 때문에 gradle을 IntelelliJ로 바꿨는데 이것을 Gradle로 다시 바꿔주면 정상적으로 실행된다!

![](https://4059345879-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdtAbfiAnzkPUNovpHX%2F-Mdynzjd3N5DzOQWlBKG%2F-MdyoSyWxmL4FnOFjTqB%2F%E1%84%89%E1%85%A9%E1%86%AF%E1%84%85%E1%85%AE%E1%84%89%E1%85%A7%E1%86%AB.png?alt=media\&token=cf76abfe-7492-4be9-89b3-721ab7f13228)
