При запуске элементарного класса в командной строке вылетает ошибка:
Error: Could not find or load main class Hello.class
Caused by: java.lang.ClassNotFoundException: Hello.class
Что не так ?
Код:
public class Hello {
public static void main(String args[]) {
System.out.println("Hello !");
}
}
Прописаны следующие пременные среды пользователя:
JDK_HOME - C:\Program Files\Java\jdk1.8.0_181\bin
JRE_HOME - C:\Program Files\Java\jre1.8.0_181\bin
Системные пременные:
CLASSPATH - C:\Program Files\Java\jdk1.8.0_181\bin
Path - C:\Program Files\Java\jdk1.8.0_181\bin;C:\Program Files\Java\jre1.8.0_181\bin
! При запуске с каталога C:\Program Files\Java\jdk1.8.0_181\bin выдает только одну ошибку - Error: Could not find or load main class Hello.class
! Компиляция происходит нормально в любой папке
Eugene Bass
12 уровень
Help ! Ошибка запуска класса в командной строке, кто уже разобрался с этим ?
Обсуждается
Комментарии (21)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Java Software Engineer Java Developer
18 июля 2022, 10:36
✅ детальное решение проблемы со скринами 👉 https://javarush.com.ua/groups/posts/3875-error-could-not-find-or-load-main-class
0
Наиль Гафиятов Enterprise Java Developer
21 февраля 2022, 13:42
У меня возникает такая же ошибка, я ее обхожу открыв консоль через Идею. ![]()

0
Roman Grand
18 марта 2021, 21:35
тоже ооооочень долго бился с этой ошибкой, нигде на просторах так и не нашёл ответа, но путём проб и ошибок правильный запуск был найден
в cmd нужно уйти вверх по дереву папок чтобы package вместе с *.java открывать внутри папки нахождения
короче, смотрите скрин (чёрная полоска внизу), там всё должно быть понятно:
![]()

0
Артем DivertittoSenior Android-разработчи в United TechMaster
23 октября 2018, 13:58
сначала компилируешь с помощью команды javac
Потом возвращаешься на уровень папки src. И водишь имя класса с пакетом:
java com.javarush.task.task17.task1710.Solution
+3
Eugene Bass
26 октября 2018, 23:47
Компиляция проходит успешно, но ошибка:
Error: Could not find or load main class Hello.class
Полный путь где находится класс:
c:\Java_worckspace\Shildt\src\Chap7\Hello.class
Запускаю так:
с каталога c:\Java_worckspace\Shildt\src
ввожу так: java Chap7.Hello
и так: java Chap7.Hello.class
Что еще пробовать можно? Где рыть ? )
0
Артем DivertittoSenior Android-разработчи в United TechMaster
30 октября 2018, 09:14
Chap7 это пакет?
0
Eugene Bass
30 октября 2018, 16:09
Да.
0
Артем DivertittoSenior Android-разработчи в United TechMaster
31 октября 2018, 07:18

0
Артем DivertittoSenior Android-разработчи в United TechMaster
31 октября 2018, 07:19
Ты так комманды выполняешь, сверь внимательно.
Если нет, то скинь скрин
0
Артем DivertittoSenior Android-разработчи в United TechMaster
31 октября 2018, 07:20
Ты кстати код скинул, а в нем пакет не указал, обрати внимание
0
Eugene Bass
2 ноября 2018, 10:30
Да, пакет не указал, но он в коде есть, вот текущий java файл:
package Chap7;
public class Hello {
public static void main(String args[]) {
System.out.println("Hello !");
}
}
компиляция проходит успешно,
остально делал как на скрине твоём,
результат Error: Could not find or load main class Hello
![]()

0
Артем DivertittoSenior Android-разработчи в United TechMaster
2 ноября 2018, 10:59
Проблема может быть связана с первой буквой в слове Chap7. Первая буква может быть русской. Попробуй переименовать и пакет в которой содержится класс, и имя пакета(package) в самом классе, перекомпилируй, запусти и отпишись, интересен результат
0
Eugene Bass
3 ноября 2018, 23:12
Вынес файл из пакета - скопировал в папку C:\Java_worckspace\Shildt\src, то есть файл находится в c:\Java_worckspace\Shildt\src\Hello.java
Внутри файла:
public class Hello {
public static void main(String args[]) {
System.out.println("Hello !");
}
}
Результат в терминале:
Microsoft Windows [Version 6.3.9600]
(c) Корпорация Майкрософт (Microsoft Corporation), 2013. Все права защищены.
c:\Java_worckspace\Shildt\src>javac Hello.java
c:\Java_worckspace\Shildt\src>java Hello
Error: Could not find or load main class Hello
c:\Java_worckspace\Shildt\src>
0
Артем DivertittoSenior Android-разработчи в United TechMaster
5 ноября 2018, 07:24
Совершенно не правильно!
0
Артем DivertittoSenior Android-разработчи в United TechMaster
5 ноября 2018, 07:24
Еще раз посмотри внимательно, что я написал
0
Eugene Bass
6 ноября 2018, 13:26
ок. создаю новый пакет - pack (C:\Java_worckspace\Shildt\src\pack\) - внимательно, английским алфавитом.
Java файл содержит:
package pack;
public class Hello {
public static void main(String args[]) {
System.out.println("Hello !");
}
}
Идея естественно компилит и запускает этот файл, все норм.
Результаты в командной строке вот:
![]()

0
Артем DivertittoSenior Android-разработчи в United TechMaster
6 ноября 2018, 16:18
Запусти вот эти две комманды и покажи ответ
![]()

0
Артем DivertittoSenior Android-разработчи в United TechMaster
6 ноября 2018, 16:20
Введи ошибку в поисковике и посмотри там оветы
0
Eugene Bass
6 ноября 2018, 22:01
C:\Java_worckspace\Shildt\src\pack>javac -version
javac 1.8.0_192
C:\Java_worckspace\Shildt\src\pack>java -version
java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)
C:\Java_worckspace\Shildt\src\pack>
Все скачано и установлено с официального сайта
0
--------Master
21 октября 2018, 16:08
А файл Hello.class находится в папке C:\Program Files\Java\jdk1.8.0_181\bin?
0
Eugene Bass
22 октября 2018, 16:07
Если копирую в этот каталог и запускаю то выдает только одну ошибку - Error: Could not find or load main class Hello.class, из других каталогов - две
0