티스토리 뷰
Cannot change version of project facet Dynamic Web Module to 3.0 오류 해결하기
호형 2020. 7. 30. 17:41
이 오류는 웹 프로젝트를 진행하다보면 흔히 만날수 있는 오류이다. web.xml에서는 Dynamic Web Module이라는것을 3.0으로 정의를 했는데 이것과 project facet 의 version이 다르다는 것이다. project facet 이라는건 다음과 같다.
project 우클릭 후 properties 로 진입을 하면 볼수 있는 Project Facets 메뉴가 있다. 이곳에서 문제가 되는 Dynamic Web Module 을 보면 version이 무려 4.0 으로 설정되어있다.
web.xml
하지만 내 web.xml 을 보면 3.0 버전을 사용하고 있다. 이 두개의 버전이 달라서 문제가 되는 것이다. 그럼 Project Facets에 들어가서 바꿔주면 되겠네? 하고 들어가서 바꿔보면 ...
아까 봤던 오류가 여기서 똑같이 또 나온다.. version 안맞는대서 고쳐줬는데.. 인생..
그래도 해결방안은 다 있다.
지금은 deprecated 된 이클립스의 Navigator 를 열면 .settings 파일에 대해서 접근할 수 있다. 여기서 org.eclipse.wst.common.project.facet.core.xml 파일을 열어보면
이렇게 jst.web version이 4.0 인것을 확인할 수 있다. 여기서 고치면 고쳐진다. 이것을 내가 사용할 tomcat과 servlet 버전을 고려하여 맞춰주도록 한다. tomcat에 맞는 servlet 버전은 다음 표를 참고하도록 한다.
[출처 : http://tomcat.apache.org/whichversion.html]
필자의 경우는 tomcat 8.5 를 사용할것이기 때문에 servlet spec은 3.1 로 결정했다.
web.xml은 3.0 facet은 4.0 이므로 이 두곳의 servlet spec을 모두 3.1 로 변경하자. 바꾸고 나면 오류잡기 필수 코스인 maven update 한번 해주고 project clean 도 해주자. 오류가 사라진걸 확인할 수 있을것이다.
끝!
'Lang > Servlet&JSP' 카테고리의 다른 글
파일 업로드시 upload.parseRequest(request)가 null이 나오는 오류 조치 (2) | 2021.05.18 |
---|---|
the import javax servlet http cannot be resolved 오류 조치 (0) | 2021.05.04 |
Invalid character found in method name .. HTTP method names must be tokens 오류 조치 (0) | 2021.04.09 |
JSP에서 Custom Tag Library 만들어서 사용하기 (0) | 2020.07.06 |
JSP에서 Spring application.properties value 가지고 오기 (0) | 2020.06.23 |