Java programmēšanas valodā ļoti bieži rodas kļūdas un izņēmumi. Bet dažas no populārākajām un izplatītākajām kļūdām bieži saskaras programmētāji, kuri ir jauni programmēšanas jomā. Starp šīm kļūdām nevarēja atrast vai ielādēt galveno klasi Java, ir viens no tiem, kas notiek parasti. Kļūda norāda, ka java komanda neizdevās lai atrastu vai ielādētu galveno klasi . Tas notiek, kad mēs cenšamies palaist programmu. Kad rodas kļūda, JVM konsolē parāda šādu kļūdas ziņojumu:
Error: Could not find or load main class ClassName
Kļūda galvenokārt rodas, ja programmas izpildes laikā mēs nepareizi norādām klases nosaukumu.
Kļūdas rašanās iemesli
Kļūda rodas, jo JVM neizdodas ielādēt galveno klasi vai pakotnes nosaukumu. Ir daži citi iemesli, kas rada to pašu kļūdu, piemēram:
- Klase ir deklarēta nepareizā iepakojumā.
- CLASSPATH trūkst atkarību.
- Apakšdirektorija ceļš neatbilst pilnībā kvalificētajam nosaukumam.
- Nepareizais direktorijs atrodas CLASSPATH.
- Lietojumprogrammas CLASSPATH ir nepareizi norādīts.
- Tas notiek arī tad, ja esam kļūdījušies ar klases nosaukuma argumentu.
Kļūdas risinājums
Lai izvairītos no kļūdas vai to novērstu, mums ir jānorāda absolūtais pakotnes nosaukums vai klases nosaukums.
Bez Pakas
Galvenā klase ir klase, kurā ir definēta main() metode. Izveidosim programmu, kas ģenerē un parāda kļūdu konsolē.
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); } }
Izvade:
Mēs redzam, ka iepriekš minētā programma tiek apkopota un veiksmīgi darbojas. Ģenerēsim kļūdu, kas nevarēja atrast vai ielādēt galveno klasi iepriekš minētajā programmā. Lai ģenerētu un parādītu kļūdu, mums ir nepareizi uzrakstīts klases nosaukumu, rakstot java komandu java DemoClas .
Tas notiek arī tad, kad mēs norādām .klase paplašinājums klases nosaukuma beigās.
java DemoClass.class
Lai izvairītos no kļūdas, nerakstiet .klase paplašinājums klases nosaukuma beigās, izmantojot java komandu.
java DemoClass
Kļūda rodas arī tad, ja klase netiek ievietota pareizajā mapē. Nākamajā attēlā mēs neatrodamies iekšā demo mape, kurā atrodas klase. Tas nozīmē DemoClass.class failam jāatrodas direktorijā C:demo .
Ar paketi
Iepriekš minētajā programmā izveidosim pakotni ar nosaukumu com.javatpoint . Tas nozīmē, ka, kompilējot šādu Java programmu, .class fails tiks ģenerēts iekšā 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); } }
Izvade:
Atcerieties, ka, ja klase atrodas pakotnē, java komandā ir jāizmanto pilns klases nosaukums, ieskaitot pakotnes nosaukumu.