logo

Nije moguće pronaći ili učitati glavnu klasu u Javi

Vrlo je uobičajeno suočiti se s pogreškama i iznimkama u programskom jeziku Java. Ali s nekima od najpopularnijih i najčešćih pogrešaka često se susreću programeri koji su novi u programiranju. Među tim pogreškama, nije mogao pronaći ili učitati glavnu klasu u Javi, jedan je od njih koji se obično javlja. Greška ukazuje da je java naredba neuspjeh pronaći ili učitati glavnu klasu . Javlja se kada pokušamo pokrenuti program. Kada se pojavi pogreška, JVM prikazuje sljedeću poruku o pogrešci na konzoli:

 Error: Could not find or load main class ClassName 

Greška se uglavnom generira kada netočno navedemo naziv klase za vrijeme izvođenja programa.

Razlozi za pojavu pogreške

Pogreška se stvara jer JVM ne uspijeva učitati naziv glavne klase ili paketa. Postoje neki drugi razlozi koji generiraju istu pogrešku, kako slijedi:

  • Klasa je deklarirana u pogrešnom paketu.
  • Ovisnosti nedostaju u CLASSPATH.
  • Put poddirektorija ne odgovara potpuno kvalificiranom nazivu.
  • Pogrešan direktorij je na CLASSPATH.
  • CLASSPATH aplikacije je netočno naveden.
  • Također se događa kada smo pogriješili s argumentom naziva klase.

Rješenje za grešku

Kako bismo izbjegli ili riješili pogrešku, moramo navesti apsolutni naziv paketa ili naziv klase.

Bez paketa

Glavna klasa je klasa u kojoj je definirana metoda main(). Kreirajmo program koji generira i prikazuje grešku na konzoli.

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); } } 

Izlaz:

Nije moguće pronaći ili učitati glavnu klasu u Javi

Vidimo da se gornji program uspješno kompilira i izvodi. Generirajmo grešku koja nije mogao pronaći ili učitati glavnu klasu u gore navedenom programu. Da bismo generirali i prikazali pogrešku, imamo pogrešno napisano naziv klase dok upisujete Java naredba java DemoClas .

Nije moguće pronaći ili učitati glavnu klasu u Javi

Također se javlja kada specificiramo .razred proširenje na kraju naziva klase.

 java DemoClass.class 

Nije moguće pronaći ili učitati glavnu klasu u Javi

Da biste izbjegli pogrešku, nemojte pisati .razred proširenje na kraju naziva klase dok koristite Java naredba.

 java DemoClass 

Pogreška se javlja i kada razred ne smjestimo u ispravnu mapu. Na sljedećoj slici nismo unutar demo folder u kojem se nalazi razred. To znači DemoClass.class datoteka mora biti unutar direktorija C:demo .

Nije moguće pronaći ili učitati glavnu klasu u Javi

Sa paketom

U gornjem programu kreirajmo paket pod nazivom com.javatpoint . To znači da će se prilikom prevođenja sljedećeg Java programa .class datoteka generirati unutar C:democomjavatpointDemoClass.class .

Nije moguće pronaći ili učitati glavnu klasu u Javi

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); } } 

Izlaz:

Nije moguće pronaći ili učitati glavnu klasu u Javi

Zapamtite da ako je klasa unutar paketa, moramo koristiti puni naziv klase, uključujući naziv paketa, u java naredbi.