logo

Kunde inte hitta eller ladda huvudklassen i Java

Det är mycket vanligt att stöta på fel och undantag i programmeringsspråket Java. Men några av de mest populära och vanliga felen möts ofta av programmerare som är nya inom programmering. Bland dessa fel, kunde inte hitta eller ladda huvudklassen i Java, är en av dem som förekommer vanligtvis. Felet indikerar att java kommando misslyckades för att hitta eller ladda huvudklassen . Det inträffar när vi försöker köra ett program. När felet uppstår visar JVM följande felmeddelande på konsolen:

 Error: Could not find or load main class ClassName 

Felet genereras oftast när vi felaktigt anger klassnamnet vid körning av programmet.

Orsaker till att fel uppstår

Felet genereras eftersom JVM misslyckas med att ladda huvudklassen eller paketnamnet. Det finns några andra orsaker som genererar samma fel, enligt följande:

  • Klassen har deklarerats i fel paket.
  • Beroenden saknas i CLASSPATH.
  • Sökvägen till underkatalogen matchar inte det fullständiga namnet.
  • Fel katalog finns på CLASSPATH.
  • Applikationens CLASSPATH är felaktigt specificerad.
  • Uppstår också när vi har gjort ett misstag med klassnamnargumentet.

Lösning på felet

För att undvika eller lösa felet måste vi ange det absoluta paketnamnet eller klassnamnet.

Utan paket

Huvudklassen är en klass där metoden main() är definierad. Låt oss skapa ett program som genererar och visar ett fel på konsolen.

DemoClass.java

vilka månader är q3
 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); } } 

Produktion:

Kunde inte hitta eller ladda huvudklassen i Java

Vi ser att ovanstående program kompileras och körs framgångsrikt. Låt oss skapa felet det kunde inte hitta eller ladda huvudklassen i programmet ovan. För att generera och visa felet har vi felstavat klassnamnet medan du skriver java kommando java DemoClas .

Kunde inte hitta eller ladda huvudklassen i Java

Det förekommer också när vi anger .klass tillägg i slutet av klassnamnet.

 java DemoClass.class 

Kunde inte hitta eller ladda huvudklassen i Java

För att undvika felet, skriv inte .klass tillägg i slutet av klassnamnet när du använder java kommando.

 java DemoClass 

Felet uppstår även när vi inte placerar klassen i rätt mapp. I följande bild är vi inte inne i demo mapp där klassen finns. Det betyder DemoClass.class filen måste finnas i katalogen C:demo .

Kunde inte hitta eller ladda huvudklassen i Java

Med paket

I programmet ovan, låt oss skapa ett paket med namnet com.javatpoint . Det betyder att vid kompilering av följande Java-program kommer .class-filen att genereras inuti C:democomjavatpointDemoClass.class .

Kunde inte hitta eller ladda huvudklassen i Java

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

Produktion:

Kunde inte hitta eller ladda huvudklassen i Java

Kom ihåg att om klassen finns i ett paket måste vi använda det fullständiga klassnamnet, inklusive paketnamnet, i java-kommandot.