JAXB 패키지는 Java 11에 더 이상 존재하지 않습니다.
소개
Java 8에서 마이그레이션하는 경우 Java 11로 변경하면 "패키지 javax.xml.bind가 존재하지 않습니다."라는 컴파일 오류가 발생할 수 있습니다. 이 오류는 Java 11에서 javax.xml.bind(JAXB) 패키지 제거로 인해 발생합니다.
원인
JEP(Java Enhancement Proposal) 320에 따라, Java 9는 더 이상 사용되지 않으며 Java 11에서는 JAXB를 포함한 Java EE 모듈을 제거했습니다. 이러한 변경은 Java 에디션 및 생태계 전략을 간소화하기 위해 이루어졌습니다.
솔루션
문제를 해결하려면 다음 Maven을 추가하여 Java EE 기술의 대체 버전을 사용할 수 있습니다. 프로젝트에 대한 종속성:
<code class="xml"><dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.3.0</version> </dependency></code>
Jakarta EE 8(2020년 3월) 업데이트
Jakarta EE 8에서 Jakarta XML 바인딩을 사용할 수도 있습니다.
<code class="xml"><dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>2.3.3</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.3.3</version> <scope>runtime</scope> </dependency></code>
Jakarta EE 9(2020년 11월) 업데이트
Jakarta EE 9에서는 Jakarta XML Binding 3.0의 최신 릴리스를 출시했습니다. 빌드를 업그레이드하려면:
<code class="xml"><dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>3.0.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>3.0.0</version> <scope>runtime</scope> </dependency></code>
참고: jakarta.xml.bind에는 Java 8 이상이 필요합니다.
Jakarta EE 10(2022년 6월) 업데이트
Jakarta EE 10은 Jakarta XML Binding 4.0의 최신 릴리스를 제공합니다. 빌드를 업그레이드하려면:
<code class="xml"><dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>4.0.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>4.0.0</version> <scope>runtime</scope> </dependency></code>
참고: jakarta.xml.bind 4.0에는 Java SE 11 이상이 필요합니다.
위 내용은 Java 11에서 JAXB 패키지를 더 이상 사용할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!