Rumah >Java >javaTutorial >Mengapa Saya Mendapat \'java.lang.NoClassDefFoundError\' Apabila Menjalankan Java daripada Baris Perintah?
Menjalankan kelas Java yang disusun (.class) daripada baris arahan kadangkala boleh menghadapi ralat. Satu isu biasa ialah ralat "java.lang.NoClassDefFoundError: [nama kelas]". Ini berlaku apabila masa jalan Java tidak dapat mengesan definisi kelas yang diperlukan dalam laluan kelas.
Kelas Java, Echo.class, wujud dalam direktori semasa dan pengguna cuba untuk melaksanakan ia menggunakan:
java Echo "hello"
Walau bagaimanapun, arahan di atas menghasilkan mesej ralat yang menunjukkan bahawa kelas Echo tidak ditemui.
Untuk menyelesaikan isu, satu mesti menentukan direktori semasa dalam classpath, yang boleh dicapai menggunakan pilihan -cp dalam arahan java:
java -cp . Echo "hello"
Sebagai alternatif, seseorang boleh menetapkan pembolehubah persekitaran CLASSPATH untuk memasukkan direktori semasa:
SET CLASSPATH=%CLASSPATH;. java Echo "hello"
Selepas menyelesaikan NoClassDefFoundError, ralat berikut mungkin timbul:
Exception in thread "main" java.lang.NoSuchMethodError: main
Ini berlaku jika kelas Echo tidak mengandungi lompang statik awam utama(String [] args) kaedah. Untuk menyelesaikannya, pastikan kelas mempunyai kaedah utama yang mematuhi corak kelas utama.
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'java.lang.NoClassDefFoundError' Apabila Menjalankan Java daripada Baris Perintah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!