Rumah >Java >javaTutorial >Mengapa Saya Mendapat Ralat Laluan Eclipse Build dengan Kelas XML Selepas Berhijrah ke JDK 10?
Isu Laluan Binaan Eclipse dengan Kelas XML selepas Pemindahan ke JDK 10
Apabila memindahkan projek Maven dari Java 8 ke JDK 10, pengguna Eclipse mungkin menghadapi ralat binaan yang melibatkan kelas seperti javax.xml.xpath, org.w3c.dom.Document dan org.xml.sax.SAXException. Isu ini timbul secara khusus apabila menukar Laluan Binaan Java projek kepada JDK 10.
Punca Punca
Isu ini berpunca daripada fakta bahawa projek itu tidak mempunyai maklumat modul. fail java. Persediaan ini menyebabkan kod disusun dalam "modul tanpa nama." Modul yang tidak dinamakan boleh memuatkan pakej daripada semua modul yang boleh diperhatikan dan dalam kes ini termasuk pakej seperti java.xml daripada Java Runtime Environment dan xml-apis daripada kebergantungan Maven.
Pelanggaran Peraturan
Keadaan ini bercanggah dengan Spesifikasi Bahasa Java (JLS) §7.4.3, yang memerlukan keterlihatan unik untuk nama jenis yang layak. Dalam kes ini, pakej daripada java.xml dan xml-apis menyediakan takrifan bercanggah untuk java.xml.xpath dan kelas yang berkaitan.
Penyelesaian
1 . Tambah Fail module-info.java
Laksanakan fail module-info.java dan nyatakan modul yang diperlukan, sama ada memerlukan java.xml; atau memerlukan xml.apis;, untuk menyelesaikan isu keterlihatan.
2. Kecualikan java.xml daripada Observable Modules
Elakkan pertembungan dengan mengecualikan java.xml daripada senarai modul yang boleh diperhatikan. Ini boleh dicapai melalui dialog "Butiran Modulariti" dalam Eclipse.
Implikasi dan Kesimpulan
Walaupun javac mungkin tidak menolak kod yang salah, ia adalah tidak betul mengikut JLS. Pemesejan ralat Eclipse telah dipertingkatkan untuk memberikan petunjuk yang lebih khusus tentang masalah asas. Pembangun dinasihatkan untuk mematuhi garis panduan modulariti Java dan memastikan keterlihatan unik untuk modul mereka untuk mengelakkan ralat binaan sedemikian.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Laluan Eclipse Build dengan Kelas XML Selepas Berhijrah ke JDK 10?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!