Много често се срещат грешки и изключения в езика за програмиране Java. Но с някои от най-популярните и често срещани грешки често се сблъскват програмисти, които са нови в програмирането. Сред тези грешки, не може да намери или зареди основния клас в Java, е един от тях, който се среща обикновено. Грешката показва, че java команда се провали за намиране или зареждане на основния клас . Това се случва, когато се опитаме да стартираме програма. Когато възникне грешката, JVM показва следното съобщение за грешка на конзолата:
Error: Could not find or load main class ClassName
Грешката се генерира най-вече, когато неправилно посочим името на класа по време на изпълнение на програмата.
Причини за възникване на грешка
Грешката се генерира, защото JVM не успява да зареди основния клас или името на пакета. Има някои други причини, които генерират същата грешка, както следва:
- Класът е деклариран в грешен пакет.
- Липсват зависимости от CLASSPATH.
- Пътят на поддиректорията не съвпада с пълното име.
- Грешната директория е на CLASSPATH.
- CLASSPATH на приложението е посочен неправилно.
- Също така възниква, когато сме направили грешка с аргумента на името на класа.
Решение на грешката
За да избегнем или разрешим грешката, трябва да посочим абсолютното име на пакета или името на класа.
Без опаковка
Основният клас е клас, в който е дефиниран методът main(). Нека създадем програма, която генерира и показва грешка на конзолата.
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); } }
Изход:
Виждаме, че горната програма се компилира и работи успешно. Нека генерираме грешката, която не можа да намери или зареди основния клас в горната програма. За да генерираме и покажем грешката, имаме с правописна грешка името на класа, докато пишете java команда java DemoClas .
Това се случва и когато уточним .клас разширение в края на името на класа.
java DemoClass.class
За да избегнете грешката, не пишете .клас разширение в края на името на класа, докато използвате java команда.
java DemoClass
Грешката възниква и когато не поставим класа в правилната папка. На следващото изображение ние не сме вътре в демонстрация папка, където се намира класът. Това означава DemoClass.class файлът трябва да е в директорията C:demo .
С пакет
В горната програма нека създадем пакет с име com.javatpoint . Това означава, че при компилирането на следната Java програма .class файлът ще бъде генериран вътре в 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); } }
Изход:
Не забравяйте, че ако класът е в пакет, трябва да използваме пълното име на класа, включително името на пакета, в командата java.