Je veľmi bežné, že sa v programovacom jazyku Java stretávame s chybami a výnimkami. Ale niektorým z najpopulárnejších a najbežnejších chýb často čelia programátori, ktorí sú v programovaní noví. Medzi tieto chyby patrí nemohol nájsť alebo načítať hlavnú triedu v jazyku Java, je jedným z nich, ktorý sa bežne vyskytuje. Chyba naznačuje, že príkaz java nepodarilo nájsť alebo načítať hlavnú triedu . Vyskytuje sa, keď sa pokúšame spustiť program. Keď sa vyskytne chyba, JVM zobrazí na konzole nasledujúce chybové hlásenie:
Error: Could not find or load main class ClassName
Chyba sa väčšinou generuje, keď nesprávne zadáme názov triedy pri spustení programu.
Dôvody výskytu chyby
Chyba sa generuje, pretože JVM zlyhá načítanie hlavnej triedy alebo názvu balíka. Existuje niekoľko ďalších dôvodov, ktoré spôsobujú rovnakú chybu:
- Trieda bola deklarovaná v nesprávnom balíku.
- Chýbajúce závislosti v CLASSPATH.
- Cesta podadresára sa nezhoduje s úplným názvom.
- Na CLASSPATH je nesprávny adresár.
- CLASSPATH aplikácie je nesprávne zadaná.
- Vyskytuje sa aj vtedy, keď sme urobili chybu s argumentom názvu triedy.
Riešenie chyby
Aby sme sa vyhli chybe alebo ju vyriešili, musíme zadať absolútny názov balíka alebo názov triedy.
jarná architektúra topánok
Bez balíka
Hlavná trieda je trieda, v ktorej je definovaná metóda main(). Vytvorme program, ktorý vygeneruje a zobrazí chybu na konzole.
DemoClass.java
public class DemoClass { public static void main(String[] args) { System.out.print('Enter a string: '); //using console to input data from user String name = System.console().readLine(); System.out.println('You have entered: '+name); } }
Výkon:
Vidíme, že vyššie uvedený program sa úspešne skompiluje a spustí. Vygenerujme tú chybu nemohol nájsť alebo načítať hlavnú triedu vo vyššie uvedenom programe. Na vygenerovanie a zobrazenie chyby máme nesprávne napísané názov triedy pri písaní java príkaz java DemoClas .
Vyskytuje sa aj vtedy, keď špecifikujeme .trieda prípona na konci názvu triedy.
java DemoClass.class
Aby ste sa vyhli chybe, nepíšte .trieda príponu na konci názvu triedy pri použití java príkaz.
java DemoClass
Chyba nastáva aj vtedy, keď triedu neumiestnime do správneho priečinka. Na nasledujúcom obrázku nie sme vo vnútri demo priečinok, kde sa trieda nachádza. Znamená to DemoClass.class súbor musí byť v adresári C:demo .
S balíkom
Vo vyššie uvedenom programe vytvorte balík s názvom com.javatpoint . To znamená, že pri kompilácii nasledujúceho programu Java sa vo vnútri vygeneruje súbor .class C:democomjavatpointDemoClass.class .
zoznam polí zoradený
DemoClass.java
package com.javatpoint; public class DemoClass { public static void main(String[] args) { System.out.print('Enter a string: '); //reading a string from the user String name = System.console().readLine(); System.out.println('You have entered: '+name); } }
Výkon:
Pamätajte, že ak je trieda vo vnútri balíka, musíme v príkaze java použiť úplný názov triedy vrátane názvu balíka.