Setiap kali kita cuba memuatkan kelas, jika pemuat kelas tidak dapat mencari kelas pada laluan yang ditentukan, ClassNotFoundException akan dijana.
Ini boleh berlaku apabila melaksanakan program java yang memuatkan kelas secara eksplisit menggunakan kaedah forName() kelas bernama Class atau kaedah loadClass() kelas ClassLoader. Kedua-dua kelas ini menerima nilai rentetan yang mewakili nama kelas dan memuatkan kelas yang ditentukan.
Apabila menghantar nama kelas kepada kaedah ini, anda perlu memastikan -
Nama kelas yang dihantar kepada kaedah ini hendaklah tepat.
Kelas yang ditentukan (bersama-sama dengan pakej) hendaklah terletak dalam direktori semasa atau laluannya hendaklah disenaraikan dalam laluan kelas pembolehubah persekitaran. . pakej dalam myPackage.example dan jana fail
.class atau loadClass()Contoh Live Demopackage myPackage.example;
public class Sample {
static {
System.out.println("The class named Sample loaded successfully.........");
}
}
Exceptioning
D:\>javac -d . Sample.javaJika anda cuba mengakses kelas tertentu daripada direktori lain, anda perlu menetapkan laluan kelas - Satu folder (pakej paling luar) yang mengandungi fail .class berikut. Atau, p> fail balang yang mengandungi kelas. Dengan mengandaikan kami telah membetulkan isu ejaan dan cuba memuatkan kelas dari fail Java dalam direktori E:// Contoh Demonstrasi Langsung
public class ClassNotFoundExample { public static void main(String args[]) { try { Class.forName("myPackage.exampl.Sample"); }catch (ClassNotFoundException ex) { ex.printStackTrace(); } } }
D:\>java ClassNotFoundExample java.lang.ClassNotFoundException: myPackage.exampl.Sample at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Unknown Source) at ClassNotFoundExample.main(ClassNotFoundExample.java:4)Dalam senario semasa, tetapkan laluan kelas ke direktori yang mengandungi pakej kelas yang diperlukan iaitu "
rreeee
Atas ialah kandungan terperinci Mengapa di Java, kita mendapat ClassNotFoundException apabila kelas itu wujud?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!