Kunne ikke finde eller indlæse hovedklassen – hvad betyder det?
Indhold

Computersoftwarespecifikationerne for Java er meget brugt til udvikling af applikations software og dets udrulning i computermiljøer på tværs af platforme. Det er ansat i et stort udvalg af computerplatforme, herunder mobiltelefoner, indlejrede enheder, supercomputere og virksomhedsservere. Hvis du er en ny Java-udvikler, skal du have set `kunne ikke finde eller indlæse hovedklassens fejl, hvorefter dine programmer nægter at køre. Denne artikel vil give dig detaljerede oplysninger om, hvad denne fejlmeddelelse betyder, hvad er dens årsager, og hvordan du kan rette det.
Hvad betyder fejlmeddelelsen?
Når du modtager denne fejl besked, det betyder ganske enkelt, at systemet har svigtet under selve det første trin. Java-kommandoen, som du indtastede, kunne ikke finde den klasse, der kræves for at køre programmet. I de fleste tilfælde vil fejlmeddelelsen også være ledsaget af det klassenavn, den ledte efter, men Kunne ikke finde.
Årsager til, hvorfor du modtog denne fejlmeddelelse
Der kan være flere årsager til, at denne fejlmeddelelse vises på din skærm. Lad os tale om dem i detaljer:
1. Du har ikke indtastet klassenavnet korrekt
En af de mest almindelige årsager er, at du ikke har angivet det korrekte klassenavn, eller du har angivet det rigtige klassenavn med en fejl. Der kan være flere forskellige måder at angive et forkert klassenavn på. Her er et par eksempler:
- Skriv et simpelt klassenavn: Når du erklærer dit klassenavn i en pakke, f.eks com.acme.eksempel, så skal du bruge dets fulde klassenavn, inklusive dets pakkenavn i Java-kommandoen. Hvis du undlader at gøre det, eller hvis du gør det forkert, vil Java ikke være i stand til at identificere klassen, og du vil sandsynligvis modtage denne fejlmeddelelse. I stedet for kun at skrive et simpelt klassenavn som java ListUser, bør du skrive java com.acme.eksempel.Listebruger.
- Skrive et stinavn eller filnavn i stedet for klassenavn: En fejl, som nye Java-udviklere almindeligvis begår, er at skrive stinavnet eller filnavnet i stedet for det korrekte klassenavn.
- At skrive klassenavnet med ukorrekt store og små bogstaver: Du skal også passe på kabinettet, mens du skriver klassenavnet.
- At lave en skrive- eller stavefejl: Java identificerer ikke klassenavnet, hvis du laver en stave- eller skrivefejl, mens du skriver det. Sørg for, at det klassenavn, du skriver, er fuldstændig korrekt og fri for fejl.
- At skrive et kildefilnavn: At skrive kildefilnavnet i klassenavnet forhindrer Java i at identificere klassenavnet.
2. Du har angivet en forkert klassesti til applikationen
Også selvom du angiver klassenavnet på den rigtige måde, Java kommando kan muligvis ikke finde den nødvendige klasse. For en dybere forståelse af dette koncept skal du også lære nogle oplysninger om klassestien. Hvis du modtager fejlmeddelelsen `kunne ikke finde eller indlæse hovedklassen`, er det første du skal tjekke dit klassenavn.
Hvis det er korrekt, er den næste ting, du skal se nærmere på, klassestien. Følg disse trin for at kontrollere det:
- Vær opmærksom på kommandolinjen og klassestimiljøvariablen, som du brugte, mens du kørte Java-kommandoen
- Tjek, at JAR-filen og mappenavnene er helt rigtige
- Hvis du har nævnt nogle stinavne i klassestien, skal du sikre dig, at de er løst korrekt, mens du kører Java-kommandoen
- Sørg for, at den klasse, der er nævnt i din fejlmeddelelse, også er til stede på klassestien
3. Der er forkert mappe på klassestien
Når en mappe sættes på klassestien, skal den svare til det kvalificerede navneområdes rod. Klasse er placeret i strukturen af mappen lige under denne rod, og du kan finde den ved at give et fuldstændigt kvalificeret navn til dit stinavn.
4. Undermappestien matcher ikke FQN
Hvis din klasses FQN er com.acme.eksempel.Toon, så vil JVM lede efter Toon.klasse inde i mappen. Hvis strukturen af dit bibliotek ikke matcher navnet på pakken i et lignende mønster, vil JVM ikke være i stand til at finde den ønskede klasse. At omdøbe klassen ved at flytte dens position hjælper heller ikke i dette tilfælde. Du skal være forsigtig, mens du vælger mellem relative og absolutte stinavne i klassestierne. Husk, at du kan bryde et relativ stinavn, hvis der er ændringer i den aktuelle mappe.
5. Mangel på afhængigheder fra klassestien
Klassestien, som du bruger, bør omfatte alle de ikke-systemklasser, som du er afhængig af din applikation. Du skal være mindst bekymret over det, da systemklasser automatisk finder deres placering, og du ikke behøver at gøre noget ved det. For at indlæse hovedklassen korrekt finder JVM følgende:
- Klassen
- Alle grænseflader og klasser i superklassens hierarki
- Alle grænseflader og klasser refereres til via variabeldeklarationer, feltudtryk eller metodekald
Bemærk venligst, at JVM- og JLS-specifikationer efterlader noget plads til JVM til at indlæse klasserne, og det kan have en vis effekt på, hvornår det kaster klasseindlæser-undtagelsen.
6. Du erklærede klassen i forkert pakke
Der er chancer for, at du lægger kildekodefilen i en forkert mappe, eller du har udeladt pakkens erklæring. Hvis du gjorde dette i en eller anden IDE, vil dens compiler straks advare dig om det. Hvis du brugte et Java-byggeværktøj, kører det Javac for at opdage problemet og advare dig. Men hvis din Java-kode er bygget i hånden, kan compileren muligvis ikke finde den, og du kan muligvis modtage fejlmeddelelsen `kunne ikke finde eller indlæse hovedklassen` på din skærm.
Sådan løses det pågældende problem
For at løse fejlproblemet, du skal først identificere årsagen. I første omgang kan du starte med at kontrollere klassenavnet og klassestiindstillingerne. Sørg for, at du har skrevet det rigtige program og dets klassenavn. For at kontrollere det, find ud af det korrekte navn på din pakke, fordi du har placeret din hovedklasse i den pakke.
Hvis alt virker fint, og der er nej stavefejl, tjek derefter, at du har indstillet stien korrekt. Hvis det også er gjort fint, kan du importere det relaterede sprogprogram og kompilere det. Genstart programmet, kompiler det igen, og du vil være i stand til at køre det uden fejl. Hvis du stadig får fejlmeddelelsen, skal du tjekke biblioteket på klassestien, underbiblioteket, der skal matche med FQN, og pakkeerklæringen i klassestien. Når du har identificeret årsagen, vil du være i stand til at løse det uden store problemer.
Konklusion
Java er et relativt nemt sprogprogram at lære og betjene. Men fejlmeddelelsen `kunne ikke finde eller indlæse hovedklassen` lige i starten af kørsel, kan være frustrerende og nedslående. Så identificer problemet, der forårsager problemet, og løs det hurtigt ved at følge ovenstående instruktioner.
Hvis du vil læse lignende artikler til Kunne ikke finde eller indlæse hovedklassen – hvad betyder det?, vi anbefaler, at du besøger vores Software kategori.