728x90
반응형
상황은
tomcat9 를 사용하는 프로젝트를 tomcat 10.1.x 으로 업그레이드 하려고 했더니 이런 오류가 발생했다.
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
이런식으로 잘 임포트 되어있던 곳에서 오류가 난 것 인데, 원인을 찾아보니
톰캣9 에 포함된 라이브러리 중 servlet-api.jar 파일안에는 패키지명이 javax.servlet 으로 되어있는 것을 확인했다.
하지만 톰캣 10 버전에서는 아래와 같이 패키지명이 jakarta.servlet으로 변경되어 있었다.
왜 바뀌었는지 모르겠어서 chatGPT한테 물어봤다..
Tomcat 10부터 javax 패키지명이 jakarta로 변경된 이유는 Java EE(Java Platform, Enterprise Edition)와 Jakarta EE(Jakarta Enterprise Edition)의 역사와 관련이 있습니다. 이 변경의 배경을 이해하려면 다음과 같은 몇 가지 중요한 변화를 살펴보아야 합니다.
역사적 배경
- Java EE의 출발:
- Java EE는 Sun Microsystems(나중에 Oracle에 인수됨)에서 개발한 엔터프라이즈급 Java 플랫폼입니다. Java EE는 javax 네임스페이스를 사용하여 다양한 표준 API를 제공했습니다.
- Eclipse Foundation으로의 이관:
- 2017년, Oracle은 Java EE의 개발과 관리를 Eclipse Foundation에 이관하기로 결정했습니다. 이로 인해 Java EE는 Eclipse Foundation의 관리 하에 있게 되었습니다.
- 명칭 변경:
- Eclipse Foundation은 Java EE의 새로운 이름으로 Jakarta EE를 선택했습니다. 이는 새로운 관리 기관 하에서 플랫폼의 미래 발전을 상징하는 것이었습니다.
패키지명 변경의 이유
- 상표권 문제:
- javax 패키지명은 Oracle이 상표권을 소유하고 있습니다. Eclipse Foundation이 Java EE를 관리하게 되면서, Oracle의 상표권을 계속 사용하는 것은 법적 문제를 야기할 수 있었습니다. 따라서, 새로운 네임스페이스가 필요하게 되었습니다.
- 명확한 구분:
- 새로운 jakarta 패키지명은 Java EE와 Jakarta EE 간의 명확한 구분을 제공합니다. 이는 개발자들에게 어떤 API가 Jakarta EE의 새로운 표준에 속하는지를 명확히 알려주는 역할을 합니다.
실질적인 변경 사항
- Tomcat 9 (Java EE):
- Tomcat 9과 이전 버전은 javax 네임스페이스를 사용합니다. 이는 기존의 Java EE 표준을 따릅니다.
- Tomcat 10 (Jakarta EE):
- Tomcat 10부터는 jakarta 네임스페이스를 사용합니다. 이는 Jakarta EE 표준을 따르며, API가 javax에서 jakarta로 변경되었습니다.
요약
- 패키지명 변경 이유: 상표권 문제와 명확한 구분을 위해 javax에서 jakarta로 변경되었습니다.
- Tomcat 버전 차이: Tomcat 9까지는 javax 네임스페이스를 사용하고, Tomcat 10부터는 jakarta 네임스페이스를 사용합니다.
- 개발자 영향: 기존 Java EE 기반 애플리케이션을 Jakarta EE로 마이그레이션하려면 패키지명을 javax에서 jakarta로 변경해야 합니다.
이러한 변경은 Java 커뮤니티와 엔터프라이즈 애플리케이션 개발자들에게 중요한 영향을 미치며, 새로운 표준과 명확한 구분을 통해 향후 발전을 도모합니다.
생각보다 수정해야하는 패키지가 많아서 그냥 tomcat9에서 돌리기로 했다..
728x90
반응형
LIST
'IT 웹개발 > Java' 카테고리의 다른 글
톰캣 tomcat 버전에 따른 jdk 최소 버전 (0) | 2024.11.27 |
---|---|
[JAVA] 파일 경로에서 파일명 추출 ( 마지막 구분자부터 마지막까지 값 출력 ) (0) | 2024.04.17 |
log4sql 을 이용해 콘솔 내 sql 쿼리 보기 좋게 확인하기 (0) | 2022.05.13 |
[Java] 자바 한글 조사 연결 (을/를,이/가,은/는,로/으로) 해주는 함수 (0) | 2022.04.07 |
[정규식] Regular Expressions 공부하기 좋은 사이트 (0) | 2022.03.16 |