Kunde inte hitta eller ladda huvudklassen – vad betyder det?

Kunde inte hitta eller ladda huvudklassen – vad betyder det?

Datorprogramvaruspecifikationerna för Java används ofta för utveckling av programvara och dess distribution i plattformsoberoende datormiljöer. Den används i ett stort antal datorplattformar, inklusive mobiltelefoner, inbäddade enheter, superdatorer och företagsservrar. Om du är en ny Java-utvecklare måste du ha settkunde inte hitta eller ladda huvudklassens fel, varefter dina program vägrar att köras. Den här artikeln kommer att ge dig detaljerad information om vad det här felmeddelandet betyder, vad är dess orsaker och hur du kan åtgärda det.

Du kanske också är intresserad av: Hur fungerar Pokémon Go - Komplett guide

Vad betyder felmeddelandet?

När du får detta felmeddelande, detta betyder helt enkelt att systemet har misslyckats under själva första steget. Javakommandot som du angav kunde inte hitta den klass som krävs för att köra programmet. I de flesta fall kommer felmeddelandet också att åtföljas av klassnamnet som det letade efter, men kunde inte hitta.

Anledningar till varför du fick det här felmeddelandet

Det kan finnas flera anledningar till att detta felmeddelande visas på din skärm. Låt oss prata om dem i detalj:

1. Du skrev inte in klassnamnet korrekt

En av de vanligaste anledningarna är att du inte angav rätt klassnamn, eller att du angav rätt klassnamn med något misstag. Det kan finnas flera olika sätt att ange ett fel klassnamn. Här är några exempel:

  • Att skriva ett enkelt klassnamn: När du deklarerar ditt klassnamn i ett paket, t.ex com.höjdpunkt.exempel, då måste du använda dess fullständiga klassnamn, inklusive dess paketnamn i Java-kommandot. Om du inte gör det, eller om du gör det felaktigt, kommer Java inte att kunna identifiera klassen, och du kommer sannolikt att få det här felmeddelandet. Istället för att bara skriva ett enkelt klassnamn som java ListUser, bör du skriva java com.höjdpunkt.exempel.Listanvändare.
  • Skriva ett sökvägsnamn eller filnamn istället för klassnamn: Ett misstag som nya Java-utvecklare ofta gör är att skriva sökvägen eller filnamnet istället för det korrekta klassnamnet.
  • Skriva klassnamnet med felaktig skiftläge: Du måste också ta hand om höljet när du skriver klassnamnet.
  • Göra ett skriv- eller stavfel: Java identifierar inte klassnamnet om du gör ett stavnings- eller skrivfel när du skriver det. Se till att klassnamnet du skriver är helt korrekt och utan några misstag.
  • Att skriva ett källfilsnamn: Att skriva källfilens namn i klassnamnet kommer att förhindra att Java identifierar klassnamnet.

2. Du angav felaktig klasssökväg för applikationen

Även om du anger klassnamnet på rätt sätt, Java-kommando kanske inte kan hitta den nödvändiga klassen. För en djupare förståelse av detta koncept måste du också lära dig lite information om klassväg. Om du får felmeddelandet "kunde inte hitta eller ladda huvudklassen" är det första du behöver kontrollera ditt klassnamn.

Om det stämmer är nästa sak du behöver titta på klassvägen. Följ dessa steg för att kontrollera det:

  • Lägg märke till kommandoraden och klasssökvägsmiljövariabeln som du använde när du körde Java-kommandot
  • Kontrollera att JAR-filen och katalognamnen är helt rätt
  • Om du har nämnt några sökvägsnamn i klasssökvägen, se till att de har lösts korrekt när du kör Java-kommandot
  • Se till att klassen som nämns i ditt felmeddelande också finns på klasssökvägen

3. Det finns fel katalog på klasssökvägen

När en katalog placeras på klasssökvägen bör den motsvara det kvalificerade namnutrymmets rot. Klassen ligger i strukturen av katalogen precis under den roten, och du kan hitta den genom att ange ett fullständigt kvalificerat namn till ditt sökvägsnamn.

4. Sökvägen till underkatalogen matchar inte FQN

Om FQN för din klass är com.höjdpunkt.exempel.Toon, då kommer JVM leta efter Toon.klass inne i katalogen. Om strukturen på din katalog inte matchar namnet på paketet i ett liknande mönster, kommer JVM inte att kunna hitta den önskade klassen. Att byta namn på klassen genom att ändra dess position hjälper inte heller i det här fallet. Du måste vara försiktig när du väljer mellan relativa och absoluta sökvägsnamn i klasssökvägarna. Tänk på att du kan bryta ett relativt sökvägsnamn om det finns ändringar i den aktuella katalogen.

5. Brist på beroenden från klassväg

Klasssökväg som du använder bör inkludera alla icke-systemklasser som du är beroende av din applikation. Du måste vara minst bekymrad över det, eftersom systemklasser automatiskt hittar sin plats och du behöver inte göra något åt ​​det. För att korrekt ladda huvudklassen hittar JVM följande:

  • Klassen
  • Alla gränssnitt och klasser i superklassens hierarki
  • Alla gränssnitt och klasser refererade till genom variabeldeklarationer, fältuttryck eller metodanrop

Observera att JVM- och JLS-specifikationer lämnar lite utrymme för JVM att ladda klasserna, och det kan ha en viss effekt på när det kastar undantaget för klassladdaren.

6. Du deklarerade klassen i fel paket

Det finns chanser att du lägger källkodsfilen i en fel mapp, eller så har du utelämnat paketets deklaration. Om du gjorde detta i någon IDE, kommer dess kompilator att varna dig om det omedelbart. Om du använde ett Java-byggverktyg kommer det att köra Javac för att upptäcka problemet och varna dig. Men om din Java-kod är byggd för hand kanske kompilatorn inte kan upptäcka den och du kan få felmeddelandet "kunde inte hitta eller ladda huvudklassen" på din skärm.

Hur man löser det berörda problemet

För att lösa felproblemet, du måste identifiera orsaken först. Inledningsvis kan du börja med att kontrollera klassnamnet och klasssökvägsinställningarna. Se till att du har skrivit rätt program och dess klassnamn. För att kontrollera det, ta reda på det korrekta namnet på ditt paket eftersom du har placerat din huvudklass i det paketet.

Om allt verkar bra och det inte finns stavfel, kontrollera sedan att du har ställt in sökvägen korrekt. Om det också går bra kan du importera det relaterade språkprogrammet och kompilera det. Starta om programmet, kompilera det igen och du kommer att kunna köra det utan några fel. Om du fortfarande får felmeddelandet måste du kontrollera katalogen på klasssökvägen, underkatalogen som ska matcha FQN och paketdeklarationen i klasssökvägen. När du har identifierat orsaken kommer du att kunna lösa det utan större problem.

Slutsats

Java är ett relativt enkelt språkprogram att lära sig och använda. Men felmeddelandet "kunde inte hitta eller ladda huvudklassen" i början av körningen kan vara frustrerande och nedslående. Så identifiera problemet som orsakar problemet och lös det snabbt genom att följa instruktionerna ovan.

Om du vill läsa liknande artiklar till Kunde inte hitta eller ladda huvudklassen – vad betyder det?, vi rekommenderar att du besöker vår programvara kategori.

Hur man berättar för dina föräldrar att du inte tror på religion$ Vad betyder det när du drömmer att du dör$ Varför kommer inte min instagram att uppdateras?$ När ska jag ladda min smartphone?$ Varför fungerar inte min bilsubwoofer?$ Hitta fordonets ägare efter registreringsskylt$ Mina instagram-filter visas inte$ Varför startar inte min cykel$ Varför blåser inte min luftkonditionering kall luft$ Vad betyder det att drömma om krokodiler?$ Vad betyder vit rök från bilavgaserna?$ Varför accelererar inte min bil ordentligt$ Varför startar inte min bil$ Vad betyder drömma om prov$ Vad betyder det när min hund pucker mig$ Vad kan hundar inte äta: giftiga livsmedel att undvika$ Vad ska jag göra om min hund inte vill äta$ Hur man rengör en lcd/led-tv eller datorskärm$ Vad betyder att drömma om ormar$ Är det dåligt att ladda din mobiltelefon över natten?$ Hur man matar terrapins om de inte äter köpt mat$