Het is heel gebruikelijk om fouten en uitzonderingen tegen te komen in de programmeertaal Java. Maar enkele van de meest populaire en veelvoorkomende fouten worden vaak geconfronteerd door programmeurs die nieuw zijn in programmeren. Onder deze fouten zijn kon de hoofdklasse in Java niet vinden of laden, is er één die meestal voorkomt. De fout geeft aan dat de Java-opdracht mislukt om de hoofdklasse te vinden of te laden . Het treedt op wanneer we een programma proberen uit te voeren. Wanneer de fout optreedt, toont de JVM het volgende foutbericht op de console:
Error: Could not find or load main class ClassName
De fout wordt meestal gegenereerd wanneer we de klassenaam onjuist opgeven tijdens de runtime van het programma.
Redenen voor het optreden van fouten
De fout wordt gegenereerd omdat de JVM kan de hoofdklasse of pakketnaam niet laden. Er zijn nog enkele andere redenen die dezelfde fout genereren:
- De klasse is gedeclareerd in het verkeerde pakket.
- Afhankelijkheden ontbreken in CLASSPATH.
- Het submappad komt niet overeen met de volledig gekwalificeerde naam.
- De verkeerde map bevindt zich op CLASSPATH.
- De CLASSPATH van de toepassing is onjuist opgegeven.
- Komt ook voor als we een fout hebben gemaakt met het argument van de klassenaam.
Oplossing voor de fout
Om de fout te voorkomen of op te lossen, moeten we de absolute pakketnaam of klassenaam opgeven.
Zonder pakket
De hoofdklasse is een klasse waarin de methode main() is gedefinieerd. Laten we een programma maken dat een fout genereert en weergeeft op de console.
DemoClass.java
govinda
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); } }
Uitgang:
We zien dat het bovenstaande programma met succes wordt gecompileerd en uitgevoerd. Laten we de fout genereren kon de hoofdklasse niet vinden of laden in bovenstaand programma. Om de fout te genereren en weer te geven, hebben we verkeerd gespeld de klassenaam tijdens het typen van Java commando java DemoClass .
Het komt ook voor als we de .klas extensie aan het einde van de klassenaam.
java DemoClass.class
Om de fout te voorkomen, schrijf niet .klas extensie aan het einde van de klassenaam tijdens het gebruik van de Java commando.
java DemoClass
De fout treedt ook op als we de klasse niet in de juiste map plaatsen. In de volgende afbeelding bevinden we ons niet in de demonstratie map waarin de klas zich bevindt. Het betekent de DemoClass.class bestand moet zich in de directory bevinden C:demo .
Met pakket
Laten we in het bovenstaande programma een pakket maken met de naam com.javatpoint . Dit betekent dat bij het compileren van het volgende Java-programma het .class-bestand wordt gegenereerd in de 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); } }
Uitgang:
Houd er rekening mee dat als de klasse zich in een pakket bevindt, we de volledige klassenaam, inclusief de pakketnaam, in de Java-opdracht moeten gebruiken.