A Java programozási nyelvben nagyon gyakori hibák és kivételek. De a legnépszerűbb és leggyakoribb hibák némelyikével gyakran szembesülnek a programozásban újoncok. Ezen hibák között nem találja vagy töltse be a fő osztályt a Java-ban, ezek egyike, amely általában előfordul. A hiba azt jelzi, hogy a java parancs nem sikerült a főosztály megtalálásához vagy betöltéséhez . Ez akkor fordul elő, amikor megpróbálunk futtatni egy programot. A hiba előfordulásakor a JVM a következő hibaüzenetet jeleníti meg a konzolon:
Error: Could not find or load main class ClassName
A hiba többnyire akkor keletkezik, ha a program futási idejében helytelenül adjuk meg az osztálynevet.
A hiba előfordulásának okai
A hiba azért keletkezik, mert a JVM nem tudja betölteni a fő osztály vagy csomag nevét. Vannak más okok is, amelyek ugyanazt a hibát generálják, az alábbiak szerint:
java do while ciklus
- Az osztály rossz csomagban lett megadva.
- Hiányzó függőségek a CLASSPATH-ból.
- Az alkönyvtár elérési útja nem egyezik a teljesen megadott névvel.
- Rossz könyvtár található a CLASSPATH-on.
- Az alkalmazás CLASSPATH-ja helytelenül van megadva.
- Akkor is előfordul, ha hibát követtünk el az osztálynév argumentummal.
A hiba megoldása
A hiba elkerülése vagy megoldása érdekében meg kell adnunk az abszolút csomagnevet vagy osztálynevet.
Csomag nélkül
A főosztály egy olyan osztály, amelyben a main() metódus definiálva van. Készítsünk programot, amely hibát generál és megjelenít a konzolon.
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); } }
Kimenet:
Látjuk, hogy a fenti program sikeresen lefordítja és lefut. Generáljuk azt a hibát nem sikerült megtalálni vagy betölteni a főosztályt a fenti programban. A hiba generálásához és megjelenítéséhez van elírt az osztály nevét a beírása közben Jáva parancs java DemoClas .
Akkor is előfordul, ha megadjuk a .osztály kiterjesztés az osztálynév végén.
véletlenszerű nem java-ban
java DemoClass.class
A hiba elkerülése érdekében ne írjon .osztály kiterjesztés az osztálynév végén a használata közben Jáva parancs.
java DemoClass
A hiba akkor is előfordul, ha nem a megfelelő mappába helyezzük az osztályt. A következő képen nem vagyunk benne demó mappát, ahol az osztály található. Azt jelenti a DemoClass.class fájlnak a könyvtárban kell lennie C:demo .
Csomaggal
A fenti programban hozzunk létre egy nevű csomagot com.javatpoint . Ez azt jelenti, hogy a következő Java program fordításakor a .class fájl generálódik a programban C:democomjavatpointDemoClass.class .
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); } }
Kimenet:
java szinkronizálás
Ne feledje, hogy ha az osztály egy csomagon belül van, akkor a java parancsban a teljes osztálynevet kell használnunk, beleértve a csomag nevét is.