determined from the Dynamic Web Module facet version (2.3), was not found on the Java Build Path

2022. 12. 19. 13:48[Error]_

728x90
반응형

환경 

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

 

Apache Tomcat® - Which Version Do I Want?

Apache Tomcat® is an open source software implementation of a subset of the Jakarta EE (formally Java EE) technologies. Different versions of Apache Tomcat are available for different versions of the specifications. The mapping between the specifications

tomcat.apache.org

저의 경우 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 버전을 수정하고 저장

jst.web -> 5.0 으로 변경

 

 

프로젝트에서 maven -> update project

 

하면 정상적으로 오류가 사라지고 원하는 web module version 으로 변경됩니다.

 

감사합니다.

 

728x90
반응형