Jakrata EE는 이전에 Java EE(Java Platform, Enterprise Edition)이라고 불리던 기업용 Java 플랫폼의 새로운 이름이다.
Java EE는 원래 Sun Mircrosystems에서 개발되었고, 나중에 Oracle이 인수하고, 2017년 Oracle은 Java EE를 Eclipse Foundation에 기증했다. Java는 Oracle 상표여서 플랫폼 이름을 계속 사용할 수 없어 Jakarta EE로 바꾸었다.
Jakarta EE는 웹 서버, 웹 애플리케이션, API 서버 등 기업용 대규모 애플리케이션을 만들기 위한 표준 스펙이다.
Java 17부터 본격적으로 Jakarta 기반으로 전환되었으며, 이는 Spring(Spring Boot)에도 큰 영향을 주었다.
Spring과 Srping Boot
구분 | 이전 버전 | 이후 버전 | 주요 변경 사항 |
---|---|---|---|
Spring | 5.x(javax.*) | 6.x (jakarta.*) | Jakarta EE 9+로 마이그레이션 |
(javax → jakarta) | |||
Spring Boot | 2.x(javax.x) | 3.x (jakarta.*) | Spring 6 기반. |
Java 17 필요 | |||
Jakarta 기반 API 사용 |
Spring Boot 버전과 Java/Jakarta 대응 표
Spring Boot 버전 | Java 최소 버전 | EE 기반 | 패키지 이름 | 비고 |
---|---|---|---|---|
2.7.x 이하 | Java 8 이상 | Java EE | javax.* | 기존 방식 유지 |
3.0.x 이상 | Java 17 이상 | Jakarta EE 9+ | jakarta.* | 마이그레이션 필요Spring 6 기반 |
Jakarta 전환으로 발생한 영향
항목 | Spring Boot 2.x | Spring Bot 3.x |
---|---|---|
패키지 | javax.servlet.* | |
javax.persisttenc.* | ||
등 | jakarta.servlet.* | |
jakarta.persistence.* | ||
등 | ||
호환성 | 예전 라이브러리과 호환 | 기존 javax. 기반 라이브러이와 호환 불가 |
서드파티 | ||
라이브러리 | 대부분 구버전과 호환 | 라이브러리도 jakarta 지원 버전 사용 필요 |
Java 버전 | 8~11 중심 | 17 이상 |
서버 플랫폼 | Tomcat 9 | |
Jetty 9 등 | Tomcat 10 | |
Jetty 11등 |
Javax → Jakrta 마이그레이션 주의 사항
항목 | java 8 | java 17 | java 21 |
---|---|---|---|
LTS 버전(장기간 패치 지원) | O | O | O |
JVM 기반 | O | O | O |
JDK/Gradle 등 지원 | 지원 | 지원 | 지원 |
현업 사용 | 가능 | 가능 | 가능 |