2022. 12. 9. 14:52ㆍ[Spring]_/[Eclipse]
개요
Intellij를 사용하다가 다음 프로젝트가 Eclipse 만 사용가능하다 하여 환경 구현 실습
연습을 위해 가장 최신버전 채택하여 진행중 만난 오류사항 및 해결방법 설명
환경
Eclipse 최신버전 2022-09 (4.25.0)
maven Artifact ID : maven-archetype-webapp 1.4v
Spring -webmvc : 6.0.2 version
https://yn971106.tistory.com/160
상위 포스팅에서 tomcat 버전 - 9.0.62 v 을 사용하였으나
spring-mvc 6.0.2 버전 사용시 javax.servlet 버전 문제로 인해 tomcat 을 10v 이상 사용하였음
문제상황
Spring 6.0.2 v 사용시
Tomcat 10 미만의 버전으로 Spring 6.0.2 구동시 다음과 같은 에러코드 발생
Caused by: java.lang.ClassNotFoundException: jakarta.servlet.ServletInputStream
문제 원인
javax.servlet -> jakarta.servlet 으로 이전하였고
Jakarta Servlet 의 경우 Tomcat version을 10을 요구하여 톰캣을 10v 으로 업그레이드 해야함
해결방법
Tomcat v 10 이상 설치 후 적용
설명
1. tomcat 10v 설치
window -> Preferences -> server 검색
ADD 버튼 클릭한뒤 tomcat 10 버전 선택
1. Tomcat 10v 를 미리 설치하였다면 Browse 선택하여 해당 경로에 위치시키고 finish 선택
2. 만약 없다면 Download and Install 선택하여 다운로드와 동시에 등록
2. 프로젝트에 새로 등록한 Tomcat 지정하기
프로젝트 -> 마우스 우클릭 -> Properties 선택 -> java Build Path -> Libraries 이동
이미 등록된 tomcat 이 만약 다른 버전일 경우 Remove 이후 Add Library 선택
이후 적용 후 프로젝트 실행시 Spring 6.0.2 가 정상적으로 작동합니다.
감사합니다.
+@ 2022-12-19 추가 작성
tomcat 10 을 설치시 servlet 버전 도 이전 javax 가 아닌
jakarta servlet 을 사용해야 합니다.
tomcat 10 의 경우 jakarta servlet 이 내장되어 있습니다.
톰캣만 빌드해서 사용시 오류가 나지 않았으나,
maven build 시 jakarta 를 받아두지 않으면 오류가 납니다.
따라서 pom.xml 에 다음과같은 jakarta 를 설치합니다.
<!-- https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api -->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
<scope>provided</scope>
</dependency>
'[Spring]_ > [Eclipse]' 카테고리의 다른 글
[Eclipse]_Spring Security Handler 구현 3단계 (로그인 실패 시) (0) | 2022.12.20 |
---|---|
[Spring]_Oracle 연결 & Mapper 연동 ( Error 정리) (0) | 2022.12.15 |
[eclipse]_spring_security 설치 (0) | 2022.12.12 |
[eclipse]_Spring 설치 및 구현 (0) | 2022.12.09 |
[Eclipse]_eclipse maven-web 프로젝트 생성 (feat.tomcat) (0) | 2022.12.08 |