Ralat Penyusunan: Java 11 Package javax.xml.bind Not Found
Apabila cuba membina projek Java dengan Java 11, anda boleh menghadapi ralat kompilasi yang menyatakan bahawa pakej javax.xml.bind tidak wujud. Ralat ini berlaku kerana modul Java EE telah dialih keluar dalam Java 11, termasuk JAXB (Java XML Binding).
Penyelesaian: Gunakan Ketergantungan Ganti
Untuk menyelesaikan isu, versi alternatif bagi teknologi Java EE mesti digunakan. Tambahkan kebergantungan Maven berikut pada projek anda:
<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 dan Kemas Kini Kemudian
Daripada menggunakan modul JAXB lama, anda juga boleh menggunakan XML Jakarta Berikat dari Jakarta EE 8 atau lebih baru:
Jakarta EE 8 (Mac 2020)
<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 (November 2020)
<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 EE 10 (Jun 2022)
<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>
Nota: Untuk Jakarta EE 9 dan lebih baru, kemas kini penyata import untuk digunakan ruang nama jakarta.xml.bind bukannya javax.xml.bind.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Penyusunan "Package javax.xml.bind Not Found" dalam Java 11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!