Java 11 套件javax.xml.bind 已棄用
在Java 8 中,套件javax.xml.bind 包含以下Java 架構: XML 綁定(JAXB) 類,允許開發人員將Java 物件序列化為XML 或反序列化為XML。然而,在 Java 11 中,javax.xml.bind 套件已被刪除。
為什麼 javax.xml.bind 在 Java 11 中被刪除?
javax.xml.bind 套件被刪除了。 xml.bind 套件是 Java EE(企業版)模組的一部分。在 Java 11 中,Oracle 刪除了 Java EE 模組,包括 javax.xml.bind。這是模組化 Java 平台並使其更加輕量級的更大努力的一部分。
如何解決這個問題?
有兩種方法可以解決這個問題:
1。使用 Java EE 技術的備用版本。
Oracle 已發布了可與 Java 11 一起使用的 Java EE 技術的備用版本,包括 JAXB。要使用這些備用版本,您需要新增將以下 Maven 依賴項新增至您的專案:
<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>
2.使用 Jakarta XML Binding。
Jakarta XML Binding 是 JAXB 規範的新實現,是 Jakarta EE 平台的一部分。 Jakarta XML Binding 與 JAXB 完全相容,並且可以用作 javax.xml.bind 的直接替代品。要使用 Jakarta XML Binding,您需要將以下 Maven 依賴項新增至您的專案:
<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 XML Binding 的最新版本是 3.0.0。要使用它,請將上述程式碼片段中的依賴版本替換為 3.0.0。
以上是為什麼 Java 11 中不建議使用 javax.xml.bind 套件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!