Java >> Java tutorial >  >> Tag >> class

Fejl:Kunne ikke finde eller indlæse hovedklassen

Hvad er Java kunne ikke finde eller indlæse hovedklassen?

Fejlen kunne ikke finde en klasse eller indlæs hovedklassen, der opstår, når et program kører, men hovedklassen ikke kan findes eller indlæses. I denne artikel vil vi lære de forskellige årsager til fejlens forekomst og måder at rette den på.

Hvad er java syntaks?

Java basic er som følger:

java [ <option> ... ] <class-name> [<argument> ...]

Her,

  • <indstilling> er den kommandolinjeindstilling, der kræves under udførelse,
  • < klassenavn> er Java-klassens navn og
  • <argument> er kommandolinjeargumentet, der sendes under kompileringen af ​​programmet.

For eksempel

java -Xmx100m com.acme.example.FirstProg one to three

Her vil der blive søgt i den kompilerede version af klassenavnet. Derefter vil klassen blive indlæst, og hovedklassen vil blive gennemsøgt for udførelse. Hvis sætningen public static void main(String []args) er korrekt og adgangsmodifikatorerne, returtyperne og har den korrekte signatur, vil udførelsen blive fuldført.

Hvad er årsagerne til fejlen 'Kunne ikke finde eller indlæse hovedklassen' i Java?

Årsagerne til fejlen 'Kunne ikke finde eller indlæse hovedklassen' i Java er som følger:

  • Det er forårsaget, når et program køres i terminalen, og hovedklassen ikke findes eller ikke kan indlæses.
  • Dette skyldes hovedsageligt syntaksfejl fra programmøren.
  • Hvis miljøvariablen CLASSPATH, hvor Java søger efter alle klassefilerne, ikke har hovedklassen, vises denne fejl.
  • Da der skelnes mellem store og små bogstaver i Java, kan den forkerte anvendelse af store og små bogstaver for hovedklassen forårsage problemer.
  • Hvis klassen er inde i en pakke, vil hovedklassen ikke blive indlæst.
  • Den forkerte mappe er nævnt i CLASSPATH.

Hvordan rettes 'Kunne ikke finde eller indlæse hovedklassen'?

Metoderne til at rette fejlen er:

1) Brug Exact Classname i stedet for .class file

  • Du skal køre programmet ved at indsætte det nøjagtige klassenavn i stedet for .class-filen. Brug derfor java-klassenavnet For eksempel, hvis følgende syntaks er kompileret

javac Program1.java

Der vil være en fejl. I stedet skal vi skrive

java Program1

2) Kontroller og løs syntaksfejl

  • Reducer syntaksfejl ved at kontrollere klassenavnets syntaks og store og små bogstaver, før du erklærer det. For eksempel hvis vi skriver syntaksen
javac program1

Og prøv at kompilere det, der vil være en fejl. Indtast derfor syntaksen

java Program1

3) Definer klassesti

  • Tjek klassestien, og nulstil den, hvis fejlen dukker op. Du skal indstille klassestien til den aktuelle mappe. For at angive klassesti i Windows skal du for eksempel skrive følgende syntaks
CLASSPATH = %CLASSPATH%;.

Prikken i slutningen repræsenterer den aktuelle mappe.

4) Kontroller stavning og store og små bogstaver

  • Tjek stavningen og store og små bogstaver i klassenavnet, mens du skriver kommandoen. Hvis vi for eksempel skriver, vil fejlen skyldes forkert stavning af klassenavnet.

Da Java igen er følsom over for store og små bogstaver, skal du også sørge for casing.

Indtast

java Progam1

5) Brug .back Command

  • Hvis klassen findes inde i en pakke, så naviger tilbage til hovedbiblioteket gennem cd.. tilbage kommando. For eksempel findes java-klassen i nedenstående sti

E:\primary\com\projects

Det fulde navn på klassen vil være com.projects.Program1 . Brug derefter cd'en.. tilbage kommando for at nå den overordnede mappe primær

E:\primær

Du kan derefter køre java-kommandoen for at indlæse klassen gennem følgende syntaks.

java com.projects.Program1

6) Tjek Classpath Directory og Sub-Directory

  • Tjek biblioteket og underbiblioteket til klassestien. For eksempel er klassestien sat til E:\primary\com\projects, så sørg for at du ikke skriver E:\primary\projects\com .

Konklusion

Vi har observeret de forskellige årsager til "Fejlen kunne ikke finde en klasse eller indlæse hovedklassen" og det kan bemærkes, at de grundlæggende syntaksfejl er de grundlæggende årsager til et sådant problem. At huske på, at Java-klasserne og de korrekte klassestiindstillinger kan forhindre sådanne fejl i fremtiden.


Java tag