4장. Red Hat JBoss Enterprise Application Platform 애플리케이션 마이그레이션 Jakarta EE 8에서 10으로 마이그레이션
JBoss EAP 8.0은 자카르타 EE 10을 지원합니다. Jakarta EE 10은 JBoss EAP 7에서 지원하는 자카르타 EE 8 사양에 비해 자카르타 EE에 큰 변경을 제공합니다. 이 장에서는 애플리케이션 개발자가 JBoss EAP 7에서 JBoss EAP 8.0으로 애플리케이션을 마이그레이션할 때 인지해야 하는 Jakarta EE API의 호환성에 영향을 미치는 차이점에 대해 설명합니다.
이 장은 Jakarta EE 8과 자카르타 EE 10의 차이점에 중점을 두고 있으며, 애플리케이션 개발자가 애플리케이션을 JBoss EAP 8.0으로 마이그레이션해야 할 수도 있습니다. 마이그레이션 방법은 다루지 않습니다. JBoss EAP 7에서 JBoss EAP 8.0 애플리케이션 마이그레이션 및 이를 지원하기 위해 제공되는 툴에 대한 자세한 내용은 효과적인 툴을 사용하여 JBoss EAP 8.0 마이그레이션을 단순화하고 애플리케이션 마이그레이션 변경 사항 이해 를 참조하십시오.
4.1. Javax에서 jakarta 패키지 네임스페이스로 변경 링크 복사링크가 클립보드에 복사되었습니다!
지금까지 Jakarta EE 8과 EE 10 간의 가장 큰 호환성에 영향을 미치는 차이점은 EE API Java 패키지 javax.* 에서 jakarta.* 로 변경되는 것입니다.
Java EE를 Eclipse Foundation으로 이동하고 Jakarta EE 및 Oracle은 Jakarta EE 커뮤니티에서 javax. 패키지 네임스페이스를 진화할 수 없다고 동의했습니다. 따라서 Jakarta EE 9부터 시작하여 EE API를 계속 발전시키기 위해 모든 EE API에 사용되는 패키지가 javax.* 에서 jakarta.* 로 변경되었습니다. 이 변경 사항은 Java SE의 일부인 javax 패키지에는 영향을 미치지 않습니다.
이 네임스페이스 변경에 대한 조정은 JBoss EAP 7에서 JBoss EAP 8로 애플리케이션을 마이그레이션하는 데 있어 가장 큰 변경 사항입니다. 자카르타 EE 10으로 마이그레이션하는 애플리케이션은 다음이 필요합니다.
-
import 구문 또는 기타 소스 코드에서
javax패키지에서 EE API 클래스를 사용하는 모든 소스 코드를jakarta로 업데이트합니다. -
대신
jakarta로 시작하는 이름이 있는 EE 지정 시스템 속성 또는 기타 구성 속성의 이름을 업데이트합니다. -
Java.
util.ServiceLoader메커니즘을 사용하여 부트스트랩되는 추상 클래스의 경우에서 META-INF/services/jakarta.[rest_of_name]으로 구현 클래스를 식별하는 리소스의 이름을 변경합니다.META-INF/services/jakarta.[rest_of_name]
Red Hat Migration Toolkit은 애플리케이션 소스 코드에서 네임스페이스를 업데이트하는 데 도움이 될 수 있습니다. 자세한 내용은 How to use Red Hat Migration Toolkit for Auto-Migration of an Application to the Jakarta EE 10 Namespace. 소스 코드 마이그레이션이 옵션이 아닌 경우 오픈 소스 Eclipse Transformer 프로젝트는 기존 Java 아카이브를 javax 네임스페이스에서 jakarta로 변환하기 위해 바이트 코드 변환 도구를 제공합니다.