Jalur kelas adalah daftar lokasi tempat kelas memuat.
'Lokasi' ini bisa berupa direktori, atau file jar.
Untuk direktori, JVM akan mengikuti pola yang diharapkan untuk memuat kelas. Jika saya memiliki direktori C: / myproject / class di classpath saya, dan saya mencoba memuat kelas com.mycompany.Foo , itu akan mencari di bawah direktori kelas untuk direktori bernama com , lalu di bawah itu direktori bernama mycompany , dan akhirnya itu akan mencari file bernama Foo.class di direktori itu.
Dalam contoh kedua, untuk file jar, itu akan mencari file jar untuk kelas itu. File jar sebenarnya hanyalah kumpulan direktori yang di-zip seperti di atas. Jika Anda mengekstrak file jar, Anda akan mendapatkan banyak direktori dan file kelas mengikuti pola di atas.
Jadi JVM melintasi jalur kelas dari awal sampai akhir mencari definisi kelas saat mencoba memuat definisi kelas. Misalnya, di classpath:
C: / myproject / kelas; C: /myproject/lib/stuff.jar; C: /myproject/lib/otherstuff.jar
JVM akan mencoba melihat kelas direktori terlebih dahulu, lalu masuk stuff.jar dan terakhir di otherstuff.jar .
Saat Anda mendapatkan ClassNotFoundException, itu berarti JVM telah melintasi seluruh jalur kelas dan tidak menemukan kelas yang Anda coba rujuk. Solusinya, seperti yang sering terjadi di dunia Java, adalah memeriksa jalur kelas Anda.
Anda mendefinisikan classpath pada baris perintah dengan mengatakan java -cp dan kemudian classpath Anda. Dalam IDE seperti Eclipse, Anda akan memiliki opsi menu untuk menentukan jalur kelas Anda.