Java programlama dilinde hatalarla ve istisnalarla karşılaşmak çok yaygındır. Ancak en popüler ve yaygın hatalardan bazıları, programlamada yeni olan programcılar tarafından sıklıkla karşılaşılır. Bu hatalar arasında; Java'da ana sınıf bulunamadı veya yüklenemedi, genellikle meydana gelenlerden biridir. Hata şunu gösterir: java komutu arızalı ana sınıfı bulmak veya yüklemek için . Bir programı çalıştırmayı denediğimizde ortaya çıkar. Hata oluştuğunda JVM, konsolda aşağıdaki hata mesajını gösterir:
Error: Could not find or load main class ClassName
Hata çoğunlukla programın çalışma zamanında sınıf adını yanlış belirttiğimizde ortaya çıkar.
Hatanın Oluşma Nedenleri
Hata oluşur çünkü JVM ana sınıfı veya paket adını yükleyemiyor. Aynı hatayı oluşturan başka nedenler de vardır:
- Sınıf yanlış pakette bildirildi.
- CLASSPATH'te bağımlılıklar eksik.
- Alt dizin yolu tam olarak nitelenmiş adla eşleşmiyor.
- CLASSPATH'te yanlış dizin var.
- Uygulamanın CLASSPATH değeri yanlış belirtildi.
- Ayrıca sınıf adı argümanında bir hata yaptığımızda da ortaya çıkar.
Hatanın Çözümü
Hatayı önlemek veya çözmek için mutlak paket adını veya sınıf adını belirtmemiz gerekir.
Paketsiz
Ana sınıf, main() yönteminin tanımlandığı bir sınıftır. Konsolda hata oluşturup görüntüleyen bir program oluşturalım.
DemoClass.java
public class DemoClass { public static void main(String[] args) { System.out.print('Enter a string: '); //using console to input data from user String name = System.console().readLine(); System.out.println('You have entered: '+name); } }
Çıktı:
Yukarıdaki programın başarıyla derlendiğini ve çalıştığını görüyoruz. Şu hatayı oluşturalım ana sınıf bulunamadı veya yüklenemedi Yukarıdaki programda. Hatayı oluşturmak ve görüntülemek için, yanlış yazılmış sınıf adını yazarken java emretmek java Demo Sınıfları .
Aynı zamanda şunu belirttiğimizde de ortaya çıkar: .sınıf sınıf adının sonundaki uzantı.
java DemoClass.class
Hatayı önlemek için yazmayın .sınıf kullanırken sınıf adının sonundaki uzantı java emretmek.
java DemoClass
Hata, sınıfı doğru klasöre yerleştirmediğimizde de ortaya çıkar. Aşağıdaki resimde içeride değiliz demo sınıfın bulunduğu klasör. Bu şu anlama gelir: DemoClass.class dosya dizinin içinde olmalıdır C:demo .
Paketli
Yukarıdaki programda adında bir paket oluşturalım. com.javatpoint . Bu, aşağıdaki Java programını derlerken .class dosyasının Java içinde oluşturulacağı anlamına gelir. C:democomjavatpointDemoClass.class .
DemoClass.java
package com.javatpoint; public class DemoClass { public static void main(String[] args) { System.out.print('Enter a string: '); //reading a string from the user String name = System.console().readLine(); System.out.println('You have entered: '+name); } }
Çıktı:
Sınıf bir paketin içindeyse, Java komutunda paket adı da dahil olmak üzere tam sınıf adını kullanmamız gerektiğini unutmayın.