상세 컨텐츠

본문 제목

The import javax.servlet cannot be resolved 에러 해결 방법

JAVA/오류 백과사전

by 비전공자111 2023. 4. 27. 11:31

본문

깃허브에서 간단한 서블릿 프로젝트를 임포트했는데 빌드하고 나니 이런 에러들이 찍힌다.

 

The import javax.servlet cannot be resolved를 포함해서

GenericServlet cannot be resolved to a type

ServletException cannot be resolved to a type

ServletRequest cannot be resolved to a type

ServletResponse cannot be resolved to a type

WebServlet cannot be resolved to a type

 

모두 서블릿 관련 에러들이다.

 

Java SE에는 서블릿 패키지가 포함되어있지 않기 때문이다.

 

프로젝트의 build path 창에 들어가보면

Apache Tomcat v7.0의 Server Library를 포함하는데 현재 이클립스에는 톰캣7 서버가 등록되어 있지 않기 때문에 unbound라고 표시되어 있다.

 

해결 방법으로는..

 

1. 프로젝트의 Targeted Runtimes 정보를 변경한다.

프로젝트의 컨텍스트 메뉴에서 Properties를 클릭한다.

 

Targeted Runtimes에서 현재 이클립스에 등록되어있는 톰캣 서버 버전으로 변경한다.

[Apply and Close]를 클릭하여 적용한다.

 

다시 빌드하면 본 에러는 사라진다.

 

프로젝트의 build path 창을 확인해보면, 자동으로 Apache Tomcat v9.0 라이브러리가 build path에 추가됐음을 알 수 있다.

 

2. 톰캣 server runtime library 추가

서블릿 컨테이너인 톰캣은 Java EE 스펙의 일부인 서블릿을 지원하며 servlet-api 모듈을 포함하고 있다.

 

[Add Library]를 클릭한다.

 

Server Runtime을 선택하고 [Next >]를 클릭한다.

 

여기에 이클립스에 등록된 톰캣 서버가 표시된다.

톰캣 서버를 선택하고 [Finish]를 클릭한다.

 

펼쳐보면 톰캣에 포함된 라이브러리들이 build path에 추가되었음을 알수 있다.

역시 [Apply and Close]를 클릭하고 다시 빌드하면 해당 에러는 사라진다.

 

 

 

출처 : The import javax.servlet cannot be resolved 에러 해결 방법 (tistory.com)

관련글 더보기