Rumah >Java >javaTutorial >Mengapa Eclipse Tidak Dapat Menemui Kelas XML Saya Selepas Beralih kepada JDK 10?

Mengapa Eclipse Tidak Dapat Menemui Kelas XML Saya Selepas Beralih kepada JDK 10?

Linda Hamilton
Linda Hamiltonasal
2024-11-28 11:13:18558semak imbas

Why Can't Eclipse Find My XML Classes After Switching to JDK 10?

Eclipse 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:

  1. Tambahkan fail module-info.java pada projek, membenarkan kawalan ke atas modul mana (sama ada java.xml atau xml.apis) itu menggunakan.
  2. 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn