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.........");
}
}
D:\>javac -d . Sample.java
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)
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!