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



Vyskúšajte Náš Nástroj Na Odstránenie Problémov

Chyba „ Nepodarilo sa nájsť alebo načítať hlavnú triedu ‘Nastáva 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ý programovacou chybou používateľa pri deklarovaní triedy.



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

Nepodarilo sa nájsť alebo načítať hlavnú triedu - príkazový riadok Java



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 ďalej, predpokladáme, že máte základné znalosti programovacieho jazyka Java a jeho fungovania.



Čo spôsobuje chybu „Nemôžete 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. The príkaz java nebol schopný lokalizovať triedy v správnom adresári.

V niektorých prípadoch musíte pridať správna cesta k súboru a nasmerujte 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 cieľový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 riešiť problémy, prečo nám terminál vracia chybu pri pokuse o spustenie, je potrebné najskôr sa pozrieť na 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 sa bude volať s argumentmi „kevin“, „šípky“ a „bart“ ako reťazec [].

Ako opraviť „Nepodarilo sa 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 a jednoduchý názov triedy . Ak deklarujete triedu v balíku ako napríklad „com.acme.example“, musíte použiť celé meno triedy vrátane balíka v príkaze Java.
java com.acme.example.ListAppuals

namiesto

java ListAppuals
  • Mal by si deklarovať názov triedy namiesto deklarovania názvu súboru alebo cesty. Java nenačíta triedu, ak pre ňu deklarujete cestu / názov súboru. Nesprávne položky zahŕňajú:
java ListAppuals.class java com / acme / example / ListAppuals.class
  • Plášť treba brať 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íklad nesprávne chyby sú:
java com.acme.example.listappuals
  • Vy nemal by vyhlásiť k 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 vtedy, ak urobíte a Chyba pri písaní alebo zabudnite ú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 názov triedy deklarovali správne, ale stále sa vám zobrazuje chyba, je pravdepodobné, že príkaz java nenašiel na ceste zadaný názov triedy. 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 cesta k triede

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 môcť triedu nájsť:

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

Mali by ste skontrolovať aj svoje podadresár a uvidíme, č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“.

Ako príklad uvedieme nasledujúci scenár:

  • Trieda, ktorú chcete spustiť, je: com.acme.example.Appuals
  • The úplná cesta k súboru je: /usr/local/acme/classes/com/acme/example/Appuals.class
  • The aktuálny pracovný adresár je: / usr / local / acme / classes / com / acme / 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 trieda cesty java -classpath ../../ .. com.acme.example.Appuals # OK; je nastavená absolútna trieda cesty 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íček . 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ť.

4 minúty prečítané