2022. 12. 19. 13:48ㆍ[Error]_
환경
Eclipse 최신버전 2022-09 (4.25.0)
Tomcat - 10.0.23 v
maven Artifact ID : maven-archetype-webapp 1.4v
Spring 6.0.2 ver
Spring Security 6.0.0 ver
spring-jdbc : 6.0.2 ver
mybatis : 3.5.11ver
mybatis-spring : 3.0.1ver
문제상황
오류코드
determined from the Dynamic Web Module facet version (x.x), was not found on the Java Build Path
or
Cannot change version of project facet Dynamic Web Module to x.x
x.x 는 version 입니다.
원인
톰캣 버전별 서블릿 버전이 달라서
톰캣 버전별 jsp 버전은 다음 링크 참조
https://tomcat.apache.org/whichversion.html
저의 경우 10버전이기 때문에
servlet 버전은 5이상으로 설정해야 합니다.
해결
1. web.xml 수정
기존
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app/>
으로 작성된 DTD 부분을
10버전에 맞는 DTD로 변경합니다.
수정
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns = "https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd"
version = "5.0"
metadata-complete = "false"
>
2. project -> properties -> project facts
Dynamic Web Module 을 맞는 버전을 선택
java 버전 또한 맞춰서 설정하고 반영합니다.
3. 간혹 web.xml 수정과 project facts 를 수정하고도 다시 이전버전이 표시될 경우
프로젝트 설치 경로 이동 후
.setting 선택 ( 만약 안보일 경우 숨겨진 파일 보기 설정하기)
org.eclipse.wst.common.project.facet.core.xml 수정
해당 파일에서 java 버전과 jst.web 버전을 수정하고 저장
프로젝트에서 maven -> update project
하면 정상적으로 오류가 사라지고 원하는 web module version 으로 변경됩니다.
감사합니다.