Oprava: Nepodarilo sa nájsť alebo načítať hlavnú triedu

Chyba „ Nepodarilo sa nájsť alebo načítať hlavnú triedu “ sa vyskytuje pri použití java príkazu v príkazovom riadku na spustenie programu Java zadaním názvu triedy v termináli. Dôvod, prečo sa tak deje, je väčšinou spôsobený programátorskou chybou používateľa pri deklarovaní triedy.

V príkazovom riadku Java sa nepodarilo nájsť alebo načítať hlavnú triedu

Ako už bolo spomenuté vyššie, táto chyba väčšinou nesúvisí so systémom a používateľ urobí chybu v niekoľkých scenároch, ako je uvedené nižšie. Predtým, ako sa posunieme vpred, predpokladáme, že máte základné znalosti programovacieho jazyka Java a jeho fungovania.

Čo spôsobuje chybu „Nemôžem nájsť alebo načítať hlavnú triedu“ v Jave?

Správa „Nepodarilo sa nájsť alebo načítať hlavnú triedu“ znamená, že zlyhal prvý krok modulu Java načítajúceho triedu na vykonanie. Príkaz java nebol schopný nájsť triedu v správnom adresári.

V niektorých prípadoch musíte pridať správnu cestu k súboru a nasmerovať terminál Java na správne miesto. Pretože vykonávate príkaz z terminálu príkazového riadku, počítač nevie, kde sa dá trieda nájsť alebo kde sa nachádza. V cielených IDE to nie je problém, pretože IDE udržuje ukazovateľ smerujúci na aktuálny pracovný adresár.

Čo je to syntax „java“?

Predtým, ako začneme s odstraňovaním problémov, prečo nám terminál vracia chybu pri pokuse o vykonanie, najskôr si musíme pozrieť syntax príkazu. Ak nepoužívate správnu syntax, budete sa s touto chybou nevyhnutne stretávať.

Normálna syntax príkazu je asi takáto:

 java [...] [...]

Tu je možnosť príkazového riadku, je to plne kvalifikovaný názov triedy Java a je to argument príkazového riadku, ktorý sa odovzdá vašej aplikácii pri kompilácii celého balíka.

Príklad platného príkazu je:

java -Xmx100m com.acme.example.ListAppuals kevin šípky bart

Vyššie uvedený príkaz prinúti príkaz java vykonať nasledujúce operácie:

  • Bude hľadať kompilovanú verziu triedy „ com.acme.example.ListAppuals “.
  • Po vyhľadaní sa načíta trieda.
  • Ďalej, keď sa trieda načíta, bude sa v triede hľadať „hlavná“ metóda s platným podpisom, modifikátormi a návratovým typom. Vzorová hlavná trieda by mohla vyzerať napríklad takto:
public static void main (String [])
  • Metóda bude volaná s argumentmi „kevin“, „šípky“ a „bart“ ako reťazec [].

Ako opraviť „Nemožno nájsť alebo načítať hlavnú triedu“

Riešenie 1: Kontrola argumentu názvu triedy

Najčastejšou chybou používateľov je, že ako argument uvádzajú nesprávny názov triedy (alebo nesprávny názov triedy je nesprávna forma). Pretože deklarujeme parametre na príkazovom riadku, je vysoko pravdepodobné, že argument názvu triedy odovzdáte v nesprávnej podobe. Tu uvedieme všetky možné scenáre, v ktorých môžete urobiť chybu.

  • Písanie jednoduchého názvu triedy . Ak deklarujete triedu v balíku, napríklad „com.acme.example“, musíte v príkaze Java použiť celý názov triedy vrátane balíka.
java com.acme.example.ListAppuals

namiesto

java ListAppuals
  • Mali by ste deklarovať názov triedy namiesto toho, aby ste deklarovali názov súboru alebo cestu. Java nenačíta triedu, ak pre ňu deklarujete cestu / názov súboru. Medzi nesprávne položky patria:
java ListAppuals.class java com / acme / example / ListAppuals.class
  • Plášť je potrebné vziať do úvahy. Príkazy Java rozlišujú veľké a malé písmená a ak urobíte chybu čo i len jedného písmena, nebudete môcť načítať hlavnú triedu. Príkladom nesprávnych chýb sú:
java com.acme.example.listappuals
  • Nemali by ste deklarovať zdrojový názov súboru . Ako už bolo spomenuté, triedu musíte deklarovať iba v správnom formáte celého názvu triedy. Príklad chyby je:
java ListAppuals.java
  • Táto chyba sa vyskytne aj v prípade, že urobíte chybu pri písaní alebo zabudnete úplne napísať názov triedy .

Ak ste pri deklarovaní názvu triedy urobili nedbalé chyby, nezabudnite to opraviť a potom skúste spustiť program.

Riešenie 2: Kontrola cesty triedy

Ak ste správne zadali názov triedy, ale stále sa vám zobrazuje chyba, je pravdepodobné, že príkaz java nenašiel zadaný názov triedy na ceste. Classpath je cesta, kde modul runtime Java vyhľadáva súbory prostriedkov a tried. Classpath môžete ľahko nastaviť pomocou dvoch rôznych príkazov, ako je uvedené nižšie:

C:> sdkTool -classpath classpath1; classpath2 ... C:> nastaviť CLASSPATH = classpath1; classpath2 ...

Ak chcete získať viac informácií o triednej ceste, mali by ste si prečítať nasledujúce dokumenty.

Dokumentácia príkazov Java

Nastavuje sa trieda cesty

Riešenie 3: Kontrola adresára

Keď deklarujete adresár ako cestu k triede, bude vždy zodpovedať koreňu menného priestoru. Napríklad ak je „/ usr / local / acme / classes“ na ceste triedy, potom Java vyhľadá triedu „com.acme.example.Appuals“. Bude hľadať triedu s nasledujúcim názvom cesty:

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

Takže v podstate, ak do cesty triedy zadáte nasledujúcu adresu, nebude Java schopná nájsť triedu:

/ usr / local / acme / classes / com / acme / príklad

Mali by ste tiež skontrolovať svoj podadresár a zistiť, či sa zhoduje s FQN. Ak sú vaše triedy FQN „com.acme.example.Appuals“, potom Java vyhľadá „Appuals.class“ v adresári „com / acme / example“.

Aby sme vám uviedli príklad, predpokladajme nasledujúci scenár:

  • Trieda, ktorú chcete spustiť, je: com.acme.example.Appuals
  • Plná cesta k súboru je: /usr/local/acme/classes/com/acme/example/Appuals.class
  • Aktuálny pracovný adresár je: / usr / local / ABC / triedy / com / ABC / example /

Potom by platili nasledujúce scenáre:

# nesprávne, je potrebné FQN java Appuals # nesprávne, v aktuálnom pracovnom adresári java com.acme.example nie je žiadny priečinok `com / acme / example`. # nesprávne, podobný vyššie uvedenému scenáru java -classpath. com.acme.example.Appuals # OK; je nastavená relatívna cesta k triede java -classpath ../../ .. com.acme.example.Appuals # OK; je nastavená absolútna triedna cesta java -classpath / usr / local / acme / classes com.acme.example.Appuals

Poznámka: Cesta triedy musí obsahovať aj všetky ostatné triedy (nesystémové), ktoré vaše aplikácie potrebujú.

Riešenie 4: Kontrola balíka triedy

Ak všetky vyššie uvedené riešenia vo vašom prípade platia, musíte sa ubezpečiť, že je váš zdrojový kód umiestnený v správnom priečinku. Tiež ste správne deklarovali balík . Ak spustíte svoj kód s IDE, bude vás pravdepodobne informovať o probléme. V našom prípade, keďže ho spúšťame v príkazovom riadku, však chyba zostane nepovšimnutá a o chybe triedy sa bude diskutovať.

Odporúčaná

Oprava: Minecraft neodpovedá
Čo je aplikácia na registráciu zariadenia digitálneho televízneho prijímača a mala by byť odstránená?
Čo je FileRepMalware a mali by ste ho odstrániť