ClassNotFoundException dalam Java ialah ralat kompilasi biasa. Apabila kita cuba memuatkan kelas menggunakan Mesin Maya Java (JVM), jika JVM tidak dapat mencari kelas tersebut, ClassNotFoundException akan dilemparkan. Ralat ini mungkin berlaku semasa program berjalan atau semasa penyusunan. Dalam artikel ini, kita akan membincangkan apakah itu ClassNotFoundException, mengapa ia berlaku dan cara menyelesaikannya.
Definisi ClassNotFoundException
ClassNotFoundException ialah kelas pengecualian dalam Java yang digunakan untuk menunjukkan bahawa kelas itu tidak wujud. Pengecualian ini biasanya menunjukkan bahawa JVM tidak dapat mencari kelas yang ditentukan dalam classpath. Setiap kelas Java perlu menjana fail .class dengan nama yang sama selepas penyusunan, yang mengandungi kod kelas. Apabila kita merujuk kelas dalam program, mesin maya Java mencari kelas dalam classpath. Jika fail .class kelas tidak ditemui, pengecualian ClassNotFoundException akan dibuang.
Punca ClassNotFoundException
Terdapat banyak sebab untuk ClassNotFoundException, sebab yang paling biasa ialah:
Kaedah untuk menyelesaikan ClassNotFoundException
Kaedah untuk menyelesaikan ClassNotFoundException bergantung pada punca pengecualian. Berikut ialah beberapa penyelesaian biasa:
Di Java, classpath merujuk kepada laluan yang digunakan oleh JVM untuk mencari fail kelas. Jika kelas tidak ditemui dalam classpath, JVM akan membuang ClassNotFoundException. Oleh itu, pastikan fail kelas anda (.class) berada dalam classpath.
Anda boleh menggunakan arahan berikut untuk melihat laluan kelas:
java -verbose:class
Arahan ini akan memaparkan semua kelas yang dimuatkan oleh JVM dan laluan di mana ia berada. Jika anda melihat bahawa classpath tidak betul, gunakan arahan berikut untuk menetapkan classpath:
java -classpath <class-path>
di mana class-path ialah classpath yang anda ingin tetapkan.
Di Java, nama fail kelas mestilah sama dengan nama kelas yang berakhir dengan kata kunci "kelas". Jika nama fail tidak sepadan dengan nama kelas, JVM tidak akan mencari kelas dan membuang ClassNotFoundException. Pastikan nama pakej dan nama kelas adalah betul dan nama fail berakhir dengan "classname.class".
Jika kelas anda bergantung pada kelas lain, kelas ini juga mesti berada di laluan kelas. Pastikan program anda merujuk dan menyusun kelas bergantung dengan betul. Jika anda menggunakan perpustakaan kelas lain dalam kod anda, seperti Hibernate, Spring, dsb., anda perlu menambahkannya pada classpath.
Jika fail kelas anda dipadamkan atau dialihkan secara tidak sengaja, JVM tidak akan dapat mencari kelas tersebut. Pastikan fail kelas wujud dan berada di lokasi yang betul.
Akhir sekali, semak sama ada nama kelas dieja dengan betul. Taip boleh menyebabkan JVM tidak menemui kelas. Pastikan anda menggunakan nama kelas yang betul dalam program anda.
Ringkasan
ClassNotFoundException mungkin merupakan salah satu ralat yang paling biasa dalam kompilasi dan berjalan Java. Kita boleh mengelakkan ralat ini dengan menyemak sama ada laluan kelas adalah betul, sama ada nama kelas dan nama fail sepadan, sama ada kebergantungan adalah betul, sama ada kelas telah dipadamkan atau dialihkan dan sama ada nama kelas dieja salah. Jika anda masih menghadapi pengecualian ini, adalah disyorkan agar anda menyelesaikan masalah timbunan pengecualian dengan teliti dan menyemak ralat ejaan dalam kod.
Atas ialah kandungan terperinci ClassNotFoundException di Java - Bagaimana untuk menyelesaikan masalah jika kelas tidak dapat dijumpai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!