티스토리 뷰

Daylogs/Java

JSP, Servlet Spec 버전과 WAS

ohgyun 2009. 12. 4. 16:03
발생일: 2009.12.04

문제:
후배 S가 이클립스에서 소스 내에 에러가 없는데도 프로젝트 루트 폴더에 X 표시가 뜬다며 물어본다.
이클립스의 기본 컴파일러의 버전은 5.0인데, 해당 프로젝트만 1.4로 설정했더니 그런 것 같다고 한다.

이클립스의 Problem window 를 보니 아래와 같은 에러가 보인다.
Java compiler level does not match the version of the installed Java project facet


처음엔 Java project facet 부분만 흘려보고는, jsp 인 줄 알고, java compiler 와 jsp 의 버전이 안 맞는 거라고 생각했다.

Java 1.4 = JSP 2.3
Java 5.0 = JSP 2.4

이렇게 매치되는 게 맞는 거라고 생각하고,
web.xml 에 설정되어 있는, 스펙 버전을 수정해보려고 했다.

잘 안된다... 문제가 뭘까..?


해결책:
애초부터 내가 좀 잘못 생각하고 있었다.

해당 문제는 Java project facet 과 Compiler 의 버전 문제였고 (잘 읽어보면 해석이 되는 거였다-_-),
이 문제는 Project Properties > Project Facet 에서 수정하면 된다.
(친절하게 설명해 놓은 포스트가 있으니 참고하자.)


그리고 Java 1.4 = JSP 2.3 과 같은 식으로 매치가 된다고 생각했던 것은 잘못된 거였고,
JSP/Servlet Spec 을 지원하는 WAS 와 매치를 시켜야 되는 거였다.

예를 들면,
Tomcat 3.x : JSP 1.1, Servlet 2.2
Tomcat 4.x : JSP 1.2, Servlet 2.3
Tomcat 5.x : JSP 2.0, Servlet 2.4

과 같이 말이다.

이 내용은 아래 포스트에 잘 설명되어 있으니 참고하자.




반응형
댓글
공지사항