logo

Ni bilo mogoče najti ali naložiti glavnega razreda v Javi

Zelo pogosto se soočamo z napakami in izjemami v programskem jeziku Java. Toda programerji, ki so začetniki v programiranju, se pogosto srečujejo z nekaterimi najbolj priljubljenimi in pogostimi napakami. Med temi napakami ni mogel najti ali naložiti glavnega razreda v Javi, je eden izmed njih, ki se običajno pojavlja. Napaka kaže, da je java ukaz ni uspelo za iskanje ali nalaganje glavnega razreda . Pojavi se, ko poskušamo zagnati program. Ko pride do napake, JVM prikaže naslednje sporočilo o napaki na konzoli:

 Error: Could not find or load main class ClassName 

Napaka se večinoma ustvari, ko v času izvajanja programa napačno podamo ime razreda.

Razlogi za nastanek napake

Napaka nastane, ker JVM ne uspe naložiti glavnega razreda ali imena paketa. Obstaja nekaj drugih razlogov, ki ustvarjajo isto napako, in sicer:

  • Razred je bil prijavljen v napačnem paketu.
  • V CLASSPATH manjkajo odvisnosti.
  • Pot podimenika se ne ujema s polnim imenom.
  • Na CLASSPATH je napačen imenik.
  • CLASSPATH aplikacije ni pravilno določen.
  • Pojavi se tudi, ko smo naredili napako z argumentom imena razreda.

Rešitev napake

Da bi se izognili ali odpravili napako, moramo podati absolutno ime paketa ali ime razreda.

Brez paketa

Glavni razred je razred, v katerem je definirana metoda main(). Ustvarimo program, ki ustvari in prikaže napako 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); } } 

Izhod:

Ni bilo mogoče najti ali naložiti glavnega razreda v Javi

Vidimo, da se zgornji program uspešno prevede in zažene. Ustvarimo napako, ki ni mogel najti ali naložiti glavnega razreda v zgornjem programu. Za ustvarjanje in prikaz napake imamo napačno črkovano ime razreda med tipkanjem java ukaz java DemoClas .

Ni bilo mogoče najti ali naložiti glavnega razreda v Javi

Pojavi se tudi, ko določimo .razred razširitev na koncu imena razreda.

 java DemoClass.class 

Ni bilo mogoče najti ali naložiti glavnega razreda v Javi

Da se izognete napaki, ne pišite .razred razširitev na koncu imena razreda med uporabo java ukaz.

 java DemoClass 

Napaka se pojavi tudi, ko razreda ne umestimo v pravo mapo. Na naslednji sliki nismo znotraj demo mapo, kjer se nahaja razred. To pomeni DemoClass.class datoteka mora biti znotraj imenika C:demo .

Ni bilo mogoče najti ali naložiti glavnega razreda v Javi

S paketom

V zgornjem programu ustvarimo paket z imenom com.javatpoint . To pomeni, da bo pri prevajanju naslednjega programa Java datoteka .class ustvarjena znotraj C:democomjavatpointDemoClass.class .

Ni bilo mogoče najti ali naložiti glavnega razreda v 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); } } 

Izhod:

Ni bilo mogoče najti ali naložiti glavnega razreda v Javi

Ne pozabite, da če je razred znotraj paketa, moramo v ukazu java uporabiti polno ime razreda, vključno z imenom paketa.