티스토리 뷰

 

이 오류는 웹 프로젝트를 진행하다보면 흔히 만날수 있는 오류이다. 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 도 해주자. 오류가 사라진걸 확인할 수 있을것이다. 

 

 끝!

댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30