olrlobt
[Spring/Error] 스프링 레거시, 스프링 부트 에러 : The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 본문
Error
[Spring/Error] 스프링 레거시, 스프링 부트 에러 : The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
olrlobt 2023. 1. 14. 21:28Error :
Multiple annotations found at this line:
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
프로젝트 생성 후 JSP 상단에서 위와 같은 에러가 발생했다.
발생 원인 :
직역하면, Java 빌드 경로에서 HttpServlet을 찾을 수 없다는 뜻으로,
jsp 파일이 실행될 웹 서버를 찾지 못해서 생기는 오류이다.
스프링 레거시에서는 프로젝트에서 웹 서버를 설정해 줌으로써 해결할 수 있고,
스프링 부트에서는 javax.servlet-api를 pom.xml에 추가해줌으로써 해결할 수 있다.
스프링 부트 해결 방법 :
1. pom.xml에 javax.servlet-api 라이브러리를 추가한다.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
2. index.jsp를 다시 생성한다.
스프링 레거시 해결방법 :
아래의 해결 방법은, 외장 웹 서버의 경로를 설정해 주는 방법으로
Spring boot 와 같이 내장 웹 서버를 사용하는 경우에는 부적절 할 수 있다.
본 이미지는 STS4에서의 설정 방법이지만, 이클립스에서도 동일한 방법으로 해결이 가능하다.
1. 프로젝트 우클릭 > Properties
2. Project Facets > Runtimes > Apache Tomcat 설치된 버전 체크 > Apply > 해결
3. 만약, Runtimes에 Tomcat이 없다면, New를 눌러 생성해 준다.
4. 톰캣의 버전을 선택 > Next > 톰캣 설치 경로 선택 or 톰캣 설치 > Finish
이후, 2번과 같이 체크해 준 후. Apply 해준 면 해결된다.
해결 :
'Error' 카테고리의 다른 글
Comments