본문 바로가기
IT 공부/자바와 웹 애플리케이션

[톰캣] - JavaEE(JakartaEE) 스펙 버전 지원

by exdus3156 2024. 1. 2.

 

 

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

 

톰캣(tomcat)은 버전에 따라 지원하는 JavaEE(JakartaEE) 스펙이 다르다. ( "Different Tomcat versions implement different versions of the specifications" )

웹 애플리케이션 서버인만큼, JavaEE 스펙의 주요 기술인 Servlet, JSP 등의 버전을 Tomcat의 버전에 일치시키거나, 최소한 지원하는 스펙의 JavaEE 버전을 사용해야 한다.

Servlet이나 JSP와 같이 JavaEE 스펙과 함께 JDK의 버전이 위 표에 나와있다. 예를 들어, Tomcat 9 버전을 사용하는 경우, Serlvet은 4.0 버전을 지원한다. 이 서블릿 버전은 JavaEE 8 스펙이다. 그리고 JDK는 8 and later라고 명시되어 있다. 따라서 7 버전 이하는 사용할 수 없다.

톰캣이 지원하는 기능 중 핵심이 바로 서블릿 컨테이너이기 때문에 버전을 잘 맞춰야 한다. 서블릿 컨테이너 또한 JavaEE(JakartaEE)의 명세 중 하나다. 서블릿 컨테이너가 직접 서블릿 객체의 실행과 주기를 관리하므로 톰캣(서블릿 컨테이너)의 버전에 개발자가 코드를 맞춰줘야 할 것이다.

예를 들어, Tomcat 9 버전을 사용한다고 해보자. Tomcat 9는 Servlet 버전 스펙이 JavaEE 8 버전이다. 따라서 내가 만약 JakartaEE 9 버전의 Servlet 라이브러리로 코딩한 서블릿 코드는 Tomcat 9가 실행할 수 없게 된다.