


Mengapa Eclipse Tidak Dapat Menemui Kelas XML Saya Selepas Beralih kepada JDK 10?
Nov 28, 2024 am 11:13 AMEclipse Encounters Isu Mencari Kelas XML Post JDK 10 Build Path Switch
Semasa mengerjakan projek Maven dalam Eclipse, pengguna menghadapi kesukaran selepas mengubah suai Laluan Binaan Java projek kepada JDK 10. Khususnya, Eclipse tidak dapat mencari kelas berkaitan XML, seperti javax.xml.xpath.XPath, org.w3c.dom.Document atau org.xml.sax.SAXException. Menariknya, isu ini hanya menjejaskan kelas XML daripada kebergantungan Maven xml-apis-1.4.01.
Walaupun ketidakupayaan untuk mengakses kelas ini semasa proses binaan Eclipse, binaan Maven dilaksanakan tanpa ralat. Selain itu, menggunakan Ctrl-LeftClick pada salah satu kelas yang dikatakan tiada membenarkan pengguna mencari dan membukanya dalam editor Eclipse. Oleh itu, nampaknya masalah itu diasingkan kepada binaan Eclipse.
Untuk membetulkan keadaan, pengguna mencuba pelbagai penyelesaian, termasuk:
- Membersihkan projek
- Menggunakan versi Eclipse yang berbeza (Oksigen dan Foton)
- Menggunakan kedua-dua JDK 8 dan JDK 10 dengan Eclipse
- Melaraskan tahap Pematuhan Pengkompil projek (yang kekal bermasalah)
Tiada satu pun daripada langkah ini menyelesaikan isu.
Pemahaman Punca Punca dan Penemuan Penyelesaian
Isu asas berpunca daripada andaian bahawa projek yang berhijrah daripada Java 1.8 tidak mempunyai fail module-info.java, yang mengakibatkan penyusunan dalam "modul yang tidak dinamakan." Dalam modul ini, kod menilai modul yang boleh diperhatikan dan tidak dinamakan, termasuk "java.xml" daripada Pustaka Sistem JRE. Yang terakhir ini menyediakan akses kepada pakej seperti java.xml.xpath.
Seiring dengan ini, projek ini menggunakan xml-apis.java sebagai kebergantungan, yang menawarkan set alternatif pakej dengan nama yang sama (mis., java. xml.xpath). Memandangkan kedua-dua set pakej berada dalam modul yang tidak dinamakan, ia bercanggah, melanggar keperluan "keterlihatan unik" dalam Java 1.8.
Untuk menyelesaikan konflik, dua penyelesaian tersedia:
- Tambahkan fail module-info.java pada projek, membenarkan kawalan ke atas modul mana (sama ada java.xml atau xml.apis) itu menggunakan.
- Kecualikan java.xml daripada modul yang boleh diperhatikan. Dalam Eclipse, ini boleh dicapai melalui dialog "Butiran Modulariti", yang ditemui di bawah tab "Kandungan". Dengan mengalihkan java.xml daripada "Modul yang disertakan secara eksplisit" kepada "Modul yang tersedia", konflik dapat dielakkan.
Atas ialah kandungan terperinci Mengapa Eclipse Tidak Dapat Menemui Kelas XML Saya Selepas Beralih kepada JDK 10?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru

Iceberg: Masa Depan Jadual Data Tasik

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap
