Sınıf yolu, sınıfların yükleneceği konumların listesidir.
Bu 'konumlar' dizinler veya jar dosyaları olabilir.
Dizinler için, JVM bir sınıfı yüklemek için beklenen bir modeli izleyecektir. Ben dizin varsa / myproject / sınıfları: C benim sınıf yolunda ve bir sınıf yüklemeyi dener com.mycompany.Foo bir dizin olarak adlandırılan için sınıfları dizin altında bakacağız, com o bir dizin olarak adlandırılan altında MyCompany ve son olarak bu dizinde Foo.class adlı bir dosya arayacaktır .
İkinci durumda, jar dosyaları için, o sınıf için jar dosyasını arayacaktır. Bir jar dosyası gerçekte yukarıdakine benzer bir sıkıştırılmış dizin koleksiyonudur. Bir jar dosyasını açarsanız, yukarıdaki kalıbı izleyen bir dizi dizin ve sınıf dosyası alırsınız.
Dolayısıyla, JVM, sınıf tanımını yüklemeye çalıştığında sınıfın tanımını arayarak baştan sona bir sınıf yolunu dolaşır. Örneğin, sınıf yolunda:
C: / myproject / sınıflar; C: /myproject/lib/stuff.jar; C: /myproject/lib/otherstuff.jar
JVM, önce dizin sınıflarına , sonra stuff.jar'a ve son olarak otherstuff.jar'a bakmaya çalışacaktır .
Bir ClassNotFoundException aldığınızda, bu, JVM'nin tüm sınıf yolunu geçtiği ve başvurmaya çalıştığınız sınıfı bulamadığı anlamına gelir. Çözüm, Java dünyasında sıklıkla olduğu gibi, sınıf yolunuzu kontrol etmektir.
Komut satırında java -cp ve ardından sınıf yolunuzu söyleyerek bir sınıf yolu tanımlarsınız . Eclipse gibi bir IDE'de, sınıf yolunuzu belirtmek için bir menü seçeneğine sahip olacaksınız.