logo

Kon de hoofdklasse in Java niet vinden of laden

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:

Kon de hoofdklasse in Java niet vinden of laden

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 .

Kon de hoofdklasse in Java niet vinden of laden

Het komt ook voor als we de .klas extensie aan het einde van de klassenaam.

 java DemoClass.class 

Kon de hoofdklasse in Java niet vinden of laden

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 .

Kon de hoofdklasse in Java niet vinden of laden

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 .

Kon de hoofdklasse in Java niet vinden of laden

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:

Kon de hoofdklasse in Java niet vinden of laden

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.