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:
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 .
Det förekommer också när vi anger .klass tillägg i slutet av klassnamnet.
java DemoClass.class
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 .
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 .
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:
Kom ihåg att om klassen finns i ett paket måste vi använda det fullständiga klassnamnet, inklusive paketnamnet, i java-kommandot.