Systemet 'Kunne ikke finde eller indlæse hovedklasse'? - Fast

Hvis du ser en fejl som 'kunne ikke finde eller indlæse hovedklasse, 'betyder det mest, at du skal have begået enhver fejl ved at erklære den pågældende klasse, mens du skrev et java-program. Konteksten starter et java-program ved at køre en java-kommando til kommandoprompten. Der er forskellige fejl, der normalt opstår fra brugerens slutning.

kunne ikke finde eller indlæse hovedklasse

Denne artikel har til formål at fortælle dig alle sådanne fejl og scenarier og metoderne til at rette dem.

Forarbejde syntaks 'java

Før vi starter processen med fejlfinding af java-funktionens problem, er det meget vigtigt at vide, hvorfor terminalen fortsat giver fejlmeddelelsen, når den bliver prøvet til udførelse. Dette vil også blive lettere gjort med en grundlæggende forståelse af Java-sproget i programmering og hvordan man kan gøre det.

Du vil være i stand til bedre at forstå ved at kende syntaks for den bestemte kommando. Det er her det største problem ligger. Hvis du bruger den forkerte syntaks, vil det uundgåeligt føre til fejlen.

Dette er den rigtige syntaks for java-kommandoen, som vi taler om:

java [ ...] [ ...]

I ovenstående adresse er angivet muligheden for kommandolinjen. Også den er navnet på en fuldt autentisk java-klasse. Endelig er det betegner argumentet for kommandolinjen, der bliver overført til applikationen under hele pakken, er i færd med at blive overholdt.

Lad os også give dig et eksempel på en gyldig kommando, der hjælper dig med at forstå bedre:

Java –Xmx100m com.acme.example.ListAppuals kevin pile bart

Når du indtaster kommandoen ovenfor, udføres disse handlinger som et resultat af den:

  • Kommandoen starter med at køre en søgning for at finde en fuldt kompileret version, der er knyttet til klassen navngivet 'com.acme.example.ListAppuals«.
  • Når søgningen er afsluttet, begynder den at indlæse klassen.
  • Når klassen er færdig med at indlæse, vil kommandoen give plads til at undersøge klassen for at finde den vigtigste metode, der har en modifikator, returtype og en gyldig signatur. Lad os vise dig et eksempel på hovedklassen, der ser ud som:

Public static void main (String [])

Til sidst kalder operationen metoden ved at indtaste argumenter som Bart, pile og Kevin i form af strengen [].

PS: hvis du er generet af problemer som kunne ikke oprette Java Virtual Machine, klik for at rette dem nu.

Årsagerne bag hovedklassen for ikke at blive fundet fejl

Når du får en fejlmeddelelse som 'kunne ikke finde eller indlæse hovedklasse', betyder det, at mens du forsøgte at køre Java-operationen, mislykkedes det første trin. Java-motoren kunne ikke finde klassen til at udføre den. Java-kommandoen kunne ikke finde klassen inde i biblioteket.

I visse tilfælde skal du aktivere java-terminalen til at finde den rigtige placering ved at tilføje den rigtige filsti. Computeren kan muligvis ikke finde klassen eller placeringen, fordi du bruger kommandolinjeterminalen til at udføre kommandoen. Dette problem forekommer ikke i de målrettede IDE'er, fordi IDE bruger en markør til at pege på det bibliotek, der i øjeblikket fungerer.

Løsninger til håndtering af hovedklassefejlen

Ligesom der er mange grunde, der forårsager fejlen 'kunne ikke finde eller indlæse hovedklasse', er der mange løsninger til at tackle det. Det er tydeligt, at den fejl, vi overvejer, er helt uden tilknytning til fejl i systemet. Det er for det meste brugergenereret, da vi så de scenarier, der kunne dukke op. I denne del giver vi dig de bedste metoder, der hjælper dig med at løse fejlen med et par enkle trin.

1. Kontroller argumentet for klassens navn

En af de meget almindelige fejl, som brugerne begår, er at indtaste klassens navn i argumentfeltet. Enten indtaster de det forkerte klassens navn eller indtaster den forkerte form, selv mens de indtaster det rigtige klassens navn. I begge tilfælde vil fejlen formentlig opstå. Da vi indstiller parametrene til kommandolinjen, overvejer vi sagen, der er brugeren, der indtaster argumentet for klassens navn i den forkerte form.

Nu viser vi alle de lignende scenarier og fejl, som brugerne kan gøre.

  • Det første tilfælde af fejl, der kan ske, er, mens du går ind i simpelt klassens navn. Når du erklærer klassens navn til en pakke som 'cm.acme.eksempel, 'så skal du være forsigtig med at komme ind i fuld klasse navn i Java-kommandoen sammen med pakken.

Gå ind - java com.acme.examples.ListAppuals

I stedet for

Java-listeAppualer

  • Pas på ikke at erklære stienavnet eller filnavnet og erklær klassens navn i stedet, hvilket er den bedre mulighed. Nogle af Wrongs poster, der kan laves, vil se ud:

Java ListAppuals.class

Java com / acme / eksempel / ListAppuals.class

  • Du skal altid være opmærksom på foringsrør i kommandoerne. Java-kommandoer af programmer er meget små og små bogstaver. Hele formålet vil gå galt, hvis du indtaster et enkelt bogstav i den forkerte sag. Resultatet bliver fejlen 'kunne ikke finde eller indlæse hovedklasse.' Nogen forkert kommando med sagsfejl ville det se ud:

Java com.acme.example.listapps

  • Det er vigtigt, at du bør undgå erklærer kilde filnavn. Som vi tidligere har nævnt, skal du kun være forsigtig med at erklære klassen i det rigtige format med det fulde klassens navn. Fejlen kan se ud:

java ListAppuals.java

  • Den sidste årsag til fejlen, der er relateret til klassens navn, kan være, når du udfører en hvilken som helst type eller springer måske bare over at skrive klassens navn fuldt ud.

Hvis du måtte have en sådan slurvet fejl, hvad enten det er fra ovenstående, skal du tjekke dem op og fjerne dem. Derefter kan du igen prøve at køre programmet og se, om fejlen 'ikke kunne finde eller indlæse hovedklasse' sker igen.

2. Kontroller klassesporet for at ordne 'Kunne ikke finde eller indlæse hovedklasse'

Hvis du nu kiggede og rettet alt det, vi nævnte i metoden ovenfor og stadig står over for den samme fejl, var det sandsynligvis en anden grund, der uroligede dig. Måske kunne java-kommandoen ikke finde det bekræftede klassens navn i stien. Dette lader java runtime søge efter klassefiler og ressourcer deri. Det er let at indstille en klassespor, og du kan gøre det samme på to forskellige måder ved at indtaste separate kommandoer.

Disse kommandoer er:

C:> sdkTool –classpath classpath1; classpath2…

C:> indstil CLASSPATH = classpath1; classpath2…

Du kan læse mere om indstilling af klassespor or Java-kommandodokumentation for at få mere viden om klassesporet.

3. Kontroller biblioteket for at ordne ”Kunne ikke finde eller indlæse hovedklasse”

Det er vigtigt at huske, at når vi erklærer et hvilket som helst bibliotek til klassespaden, vil navneområdet og dets rod altid korresponderes. Lad os tage et eksempel; hvis du indtaster “/ usr / local / Abc / Undervisning”Ind i klassestien vil java-kommandoen se efter klassen“com.acme.example.Apps".

Java-kommandoen foretager en søgning efter følgende klasse og stinavn:

/usr/loal/acme/classes/com/acme/example/Appuals.class

På den anden side, hvis du indtaster en anden adresse som den nedenfor i klassespaden, vil Java ikke finde den rigtige klasse:

/ Usr / local / Abc / klasser / dk / Abc / eksempel

En anden ting, der skal tages hånd om, er undermappe. Du skal kontrollere, om det ligner FQN. Hvis FN i din klasse er "com.acme.example.Appuals", vil java-kommandoen prøve at søge efter "Appuals.klasse"I"dk / Acme / eksempel"Mappe.

Vi giver dig nogle eksempler ved at tage nogle scenarier op:

  • Den klasse, du prøver at starte, er: com.acme.example.Appuals
  • fuld filsti navn er: /usr/local/acme/classes/com/acme/example/Appuals.class
  • nuværende arbejdsmappe navn er: / usr / lokal / acme / klasser / com / acme / eksempel /

Disse scenarier ser ud som:

# forkert, FQN er nødvendig

java Appuals

# forkert, der er ingen mappe com / acme / eksempel i det aktuelle arbejdsmappe

java com.acme.example.Apps

# forkert, ligner ovenstående scenarie

java –klassepad. com.acme.example.Appuals

# OK: der indstilles en relativ klassepad

java –classpath ../../ .. come.acme.example.Appuals

# OK: der er indstillet en absolut klassepad

java –klassepad / usr / lokal / acme / klasser com.acme.example.Appuals

En ting at bemærke her er, at mens du indtaster klassepaden, skal du også indtaste enhver anden klasse (ikke-system), som applikationen kræver.

4. Kontroller, om pakken er rettet til ”Kan ikke finde eller indlæse hovedklasse”

Hvis de løsninger, som vi gav ovenfor, viste sig at være nyttige i den situation, du står overfor, skal du passe på nogle andre ting. Du skal kontrollere, om du har placeret kildekoden i den relevante mappe. En anden ting at kontrollere er, at pakke erklæret af dig er korrekt. Hvis du prøver at køre koden sammen med en IDA, vil du sandsynligvis blive informeret om problemet og alle relevante oplysninger.

I det tilfælde, vi overvejer, bruger vi imidlertid kommandoprompten. Det giver plads for chancer for, at du ikke vil bemærke fejlen, og fejlen 'kunne ikke finde eller indlæse hovedklasse' vil være resultatet.

Konklusion om, hvordan du løser, kunne ikke finde eller indlæse hovedklasse

Dette var alle de fejl, du kan undgå eller fjerne for at slippe af med fejlen 'kunne ikke finde eller indlæse hovedklasse.' Gå igennem de programmer, du skrev grundigt, identificer fejlene og anvend den rigtige løsning.

Avatar af Jack

Jack

Ti års erfaring med informations- og computerteknologi. Brænder for elektroniske enheder, smartphones, computere og moderne teknologi.