Ralat Eclipse Build: Mencari Kelas XML Selepas Naik Taraf JDK 10
Beberapa pengguna telah menghadapi isu yang membingungkan selepas menukar Laluan Binaan Java untuk mereka Projek Maven ke JDK 10. Binaan Eclipse gagal mencari kelas yang berkaitan dengan pemprosesan XML, seperti javax.xml.xpath.XPath dan org.w3c.dom.Document. Menariknya, binaan Maven daripada Eclipse berjalan tanpa ralat.
Punca Punca: Konflik Modul
Punca isu ini terletak pada kekurangan maklumat modul projek fail .java. Tanpa fail ini, projek itu berada dalam "modul tanpa nama" dan membaca semua modul bernama dan tidak bernama yang boleh diperhatikan, termasuk "java.xml" daripada JRE dan "xml.apis" daripada laluan kelas projek itu sendiri.
Keperluan Keterlihatan Unik
Keadaan ini melanggar "unik Spesifikasi Bahasa Java keperluan penglihatan". Setiap nama jenis yang layak mesti mempunyai pakej yang boleh dilihat secara unik. Walau bagaimanapun, konflik timbul kerana kedua-dua "java.xml" dan "xml.apis" menyumbang pakej dengan nama yang sama (cth., java.xml.xpath).
Potensi Penyelesaian
Untuk menyelesaikan isu ini, pertimbangkan penyelesaian berikut:
1. Tambah Fail module-info.java
Fail ini membolehkan anda mengawal modul yang dibaca oleh projek. Dengan menyatakan memerlukan java.xml; atau memerlukan xml.apis;, anda boleh mentakrifkan perhubungan pergantungan secara eksplisit dan mengelakkan konflik.
2. Elakkan Konflik dalam Eclipse
Tanpa menambah fail module-info.java, anda masih boleh menghalang konflik dalam Eclipse dengan menggunakan dialog "Butiran Modulariti". Alihkan semua modul kecuali java.base ke kiri ("Modul yang tersedia"), dan tambah semula mana-mana modul yang diperlukan secara terpilih.
Walaupun penyelesaian ini, mesej ralat Eclipse kekal tidak tepat, gagal untuk menentukan masalah sebenar . Penambahbaikan telah dibuat pada mesej, tetapi isu asas masih berterusan.
Atas ialah kandungan terperinci Mengapa Projek Eclipse Maven Saya Gagal Mencari Kelas XML Selepas Menaik taraf kepada JDK 10?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!