no main class specified что делать

«Could not find or load main class» при запуске программы

Пытаюсь выполнить обычный Hello, World, как это сказано в одном из мануалов.

Запускаю в транслятор так:

Все проходит успешно. По крайней мере, никаких сообщений о крахе не выводится.

Но когда уже хочу получить результат, запуская так:

То в консоли выводится ошибка:

Java could not find the main class HelloWorld

Как его запустить, в чем проблема?

Вот полный лог происходящего в консоли:

C:\Program Files\Java\jdk1.7.0_07\bin>javac C:\Java\HelloWorld.java

C:\Program Files\Java\jdk1.7.0_07\bin>java HelloWorld Error: Could not find or load main class HelloWorld

9 ответов 9

Иначе java не может найти скомпилированный класс.

no main class specified что делать

У меня был случай когда даже команда

давала ошибку «Could not find or load main class» решилось таким образом

То есть нужно было указать сам джарник в classpath, а потом указать полный путь к классу с main методом

Герберт Шилдт в своей книге по JDK8 приводит простой но Очень полезный пример компиляции и запуска программы:

содержимое файла Book.java

этот файл необходимо поместить в каталог bookpack

Скомпилировать нужно так:

*** ВНИМАНИЕ ***
Не забывайте, что для нормального выполнения указанных выше команд, текущим должен быть каталог, являющийся родительским по отношению к каталогу bookpack.

Источник

Ошибка: не удалось найти или загрузить основной класс в IntelliJ IDE

Я новичок в Java и пытаюсь запустить свой код, используя IntelliJ, который я только что установил в качестве своей IDE с JDK 1.7. Следующий фрагмент кода даже не компилируется и продолжает выдавать ошибку:

Есть ли какие-либо изменения, которые я должен сделать в настройках компилятора? Или это код.

Если ни один из приведенных выше ответов не помог вам, просто закройте вашу IDE intelliJ и удалите файл и папку IntelliJ IDE из корня проекта:

Затем откройте проект с IntelliJ. Это должно работать сейчас.

Для меня решение было исправить выходной каталог в настройках проекта. Раньше я использовал только «цель» для вывода компилятора проекта. Вместо этого я обновил его, указав полный путь, например D: \ dev \ sigplusjava2_68 \ target no main class specified что делать

У меня была эта проблема, и я попробовал все под солнцем, что я мог придумать и на этом сайте.

Ни один из моих классов Java не был поднят после того, как я извлек из удаленной ветви. У всех классов были красные J по именам в иерархии проекта, а не синие C.

В конце я попытался следовать этому руководству, и несколько шагов попробовал что-то не описанное и устранил проблему: https://www.jetbrains.com/help/idea/creating-and-managing-modules.html

По какой-то причине у всех моих классов были синие буквы «Си».

Кто-то, кто лучше понимает, как IntelliJ и / или IDE могут объяснить это явление, но я знаю только то, что теперь он может видеть все классы и, что более важно, основной и запускать.

Явно создайте out папку и затем установите выходной путь C:\Users\USERNAME\IdeaProjects\PROJECTNAME\out

no main class specified что делать

Также попробуйте, чтобы IntelliJ создал новую конфигурацию запуска:

Найти предыдущий, нажав

no main class specified что делать

no main class specified что делать

и ударил в порядке.

Теперь (ВАЖНО ШАГ) откройте класс, содержащий ваш метод main. Это, вероятно, проще всего сделать, нажав на имя класса в левой части панели проекта.

Дайте Alt + Shift +, F10 и вы должны получить

no main class specified что делать

Сделайте недействительным кеш и перезапустите ваш intellij, он работал для меня. no main class specified что делать

Я знаю, что об этом спрашивали некоторое время назад, но я просто спотыкался об этой проблеме и думал, что мои выводы могут помочь другим. Как уже указывалось, сообщение об ошибке в основном является результатом папки out. Это потому, что когда вы пытаетесь запустить программу, она сначала компилирует код и помещает скомпилированный результат в исходящее местоположение, а затем пытается загрузить скомпилированный код из выходного местоположения. Если скомпилированный код не находится в ожидаемом месте, вы получите ошибку.

Особо хочу поделиться тем, что иногда код не компилируется (не собирается), даже если ваша конфигурация запуска указывает «Сборка» в разделе «Перед запуском» панели конфигурации.

Когда это может произойти? Это может произойти в том случае, если вы используете модули и вручную удаляете каталог out модуля. Например, если у меня есть модуль с именем «foo», в каталоге out / production должен быть каталог с именем foo. Если вы удалите его вручную, система сборки может не знать, что его нужно восстановить.

Еще хуже, если вы выберете Build | Сборка модуля ‘foo’, он все равно может не перестроить модуль. Если это так, вы должны выбрать файл в модуле, например, ‘bar.java’, а затем выбрать Build | Перекомпилируйте ‘bar.java’. Теперь выходной каталог out / production / foo должен быть восстановлен.

Поскольку IntelliJ обычно знает о любых происходящих изменениях, это удивило меня и заняло у меня немного времени, чтобы разобраться, поэтому я решил поделиться.

может ли это помочь вам

Мне пришлось пометить папку «src» как «Источники». После перезапуска IntelliJ и перестройки проекта я мог запустить проект без дальнейших проблем (см. Скриншот ). Редактировать: Вы можете перейти на вкладку «Структура проекта» через Файл-> Структура проекта или нажав Ctrl + Shift + Alt + S.

Откройте вкладку «Модули» (нажмите Ctrl + Shift + Alt + S). У меня было два модуля в рамках одного проекта. Я решил проблему после удаления второго избыточного модуля (см. Скриншот).no main class specified что делать

Я сталкивался с такими проблемами, когда класс находится в папке по умолчанию, т.е. когда класс не объявляет пакет.

Так что я думаю, что использование оператора пакета (например package org.me.mypackage; ) в верхней части класса должно исправить это.

Файл> Структура проекта> Модули> Пометить папку «src» как источники. Это должно решить проблему. Также убедитесь, что выбран последний язык, чтобы вам не приходилось менять код или вносить какие-либо изменения в конфигурацию. no main class specified что делать

Источник

Не удалось найти или загрузить ошибку основного класса

Изучите причины ошибки “Не удалось найти или загрузить основной класс” и узнайте, как их избежать.

1. введение

Иногда, когда мы запускаем программу Java, мы можем увидеть “Не удалось найти или загрузить основной класс”. Легко догадаться о причине: JVM не смогла найти основной класс и выдала эту ошибку. Но почему бы и нет?

Дальнейшее чтение:

Как исправить java.lang.UnsupportedClassVersionError

Объясненный метод Java main()

В этом уроке мы обсудим вероятные причины неудачного поиска основного класса. Кроме того, мы посмотрим, как их исправить.

2. Пример Программы

Мы начнем с Hello World программы:

Теперь давайте скомпилируем его:

Здесь компилятор сгенерирует файл .class для нашей программы. Этот файл .class будет создан в том же каталоге. Файл .class будет иметь то же имя, что и имя класса, заданное в программе Java. Этот файл .class является исполняемым.

В следующих разделах мы запустим этот файл .class и попытаемся понять вероятные причины ошибки “Не удалось найти или загрузить основной класс”.

3. Неправильное Название Класса

А теперь давайте запустим нашу программу:

Да, он потерпел неудачу с ошибкой “Не удалось найти или загрузить основной класс helloworld”.

Давайте попробуем еще раз с правильным корпусом:

На этот раз все прошло успешно.

3.1. Расширение файла

Чтобы скомпилировать программу на Java, мы должны указать имя файла с его расширением (. java ):

Итак, опять же, давайте запустим нашу программу, используя правильное имя класса:

4. Имена пакетов Java

В Java мы сохраняем подобные классы вместе в том, что мы называем пакетом /.

Давайте переместим класс HelloWorld в пакет com.baeldung :

Но снова мы получаем ошибку “Не удалось найти или загрузить основной класс HelloWorld”!

Давайте попробуем понять, что же мы здесь упустили.

Теперь, когда мы создали com.baeldung package, мы фактически создали структуру папок, такую как:

Во-первых, давайте попробуем запустить нашу программу из каталога com/baeldung :

Тем не менее, мы не можем запустить нашу программу.

Теперь давайте вернемся в родительскую папку и запустим ее:

Да, мы снова можем сказать “Привет” миру.

5. Недопустимый путь к классу

Прежде чем продолжить, давайте сначала разберемся, что такое путь к классам – это набор классов, доступных для нашей текущей JVM.

Мы используем переменную classpath, чтобы указать JVM, где найти файлы .class в файловой системе.

Здесь Java будет искать HelloWorld.class файл в/ my_programs/compiled_classes папке, имя которой мы только что придумали. По умолчанию переменная пути к классу имеет значение”.”, что означает текущий каталог.

В приведенном выше разделе мы изменили наш каталог для запуска нашей программы. Но что, если мы захотим запустить его из какой-то другой папки? Вот когда переменная classpath помогает нам.

Здесь “..” представляет родительский каталог. В нашем случае “../../” представляет собой вершину иерархии пакетов.

6. Заключение

В этом уроке мы узнали вероятные причины ошибки “Не удалось найти или загрузить основной класс”.

Затем, конечно, мы также узнали, как решить эту ошибку.

Источник

Почему не запускается код на Java?

Пробую изучать программирование. Подскажите, почему код на java не запускается.

Читаю книгу Сьерра, Бейтс «Изучаем Java» и захотел уже опробовать код. Дочитал до 70-ой страницы, но пока все в теории и без запуска. В книге нет инструкции по установке и настройке Java, но знакомый подсказал создать переменные в свойствах системы.

public static void main(String[] args) <

В командной строке:

Error: Could not find or load main class HelloWorld

Файл с бинарным кодом HelloWorld.class на диске C появляется.

Java 7 64bit стоит в D:\Program Files\Java. Система Windows 7 64bit

Заранее спасибо за помощь!

P.S. Честно говоря, ожидал, что при изучении современных языков увижу среду разработки по типу Delphi, Visual Studio. А тут такой хардкорд в виде командной консоли.

no main class specified что делать

no main class specified что делать

Я создал перед запуском такие переменные:
JAVA_HOME=D:\Program Files\Java\jdk1.7.0_25
CLASSPATH=D:\Program Files\Java\jdk1.7.0_25;D:\Program Files\Java\jdk1.7.0_25\LIB
PATH=D:\Program Files\Java\jdk1.7.0_25\;D:\Program Files\Java\jdk1.7.0_25\LIB;D:\Program Files\Java\jdk1.7.0_25\BIN

без пробелов перед «;» и перезагрузил ПК.

Как я понимаю, в «CLASSPATH» нужно дописать и диск Ц (а лучше папку на нем создать и ее прописать), потому что он также содержит классы?

no main class specified что делать

Как это все трудно понимать дизайнеру. В книге про настройку среды всего 1 предложение и то, вроде, команда Линукса. %(

Скопировал файл в D:\Program Files\Java\jdk1.7.0_25;D:\Program Files\Java\jdk1.7.0_25\LIB Запустился без ошибок. Потом создам на диске С каталог, чтобы далеко не бегать в командной строке, и добавлю в переменную.

Я думал, что здесь как в Фотошоп: есть привязка типа файлов и они запускаются из любого места. Меня очень удивило, что компилируется он без ошибок, но не запускается.

no main class specified что делать

no main class specified что делать

Добрый день. Специально зарегестрировался, чтобы описать решение этой проблемы.
Сам недели две назад тоже мучился и думал что я м.д.к, потому ничего не работает.

Это не совсем так, поэтому читайте ниже.

Суть проблемы:
При повторение видео урока, а точнее действий в нем, желаемый результат не выводился. Конкретнее была написана программа вывода сообщения Hellow World в консоли WIndows
А именно, компилированный ява файл, вызывался командой java ИМЯ.class, и выходила соответствующая ошибка: «could not find or load main class ИМЯ_класса»
т
Как решил:
Вызывать надо уже ОТКОМПИЛИРОВАННЫЙ файл командой[b][i] java ИМЯ [/i][/b]И все. Тогда консоль нормально воспроизводит программу, если, разумеется, в ней нет ошибок.
Возможно для гуру программирования, это очевидный ответ, и кажется что это норма, но я как 3-ью неделю изучающий яву, на второй день реально не понимал в чем суть проблемы. И так как несмотря на то что обучение идет трудно, мне было обидно и непонятно почему это не работает.

Ниже распишу полный алгоритм работы с ява машиной на базовом уровне, может быть кому-то это поможет.

1) Скачать JDK c оф сайта (ссылку давать не буду, это точно найти сможете)
2) Установить скачанный пакет
3) Подключить установленную ява машину к нашей системе ( у меня это Windows 7)
а) зайти в папку с установленным пакетом и найти файл java.exe (у меня на Windows это было: C:\Program Files\Java\jdk1.8.0_05\bin\java.exe)
_______обращаю внимание, что находить именно файл java.exe не обязательно, просто я сделал так=)
б) Нажать на java.exe правой кнопкой мыши, выбрать «Свойства». В выскочевшем окошке, во вкладке «Общие», ищите строку «Расположение». Выделяйте и копируйте путь (у меня это C:\Program Files\Java\jdk1.8.0_05\bin)
в) Открываем пуск, наводим мышку на «Мой компьютер», жмем правую кнопку мыши, жмем «Свойства».
г) В открывшемся окне, слева, жмем кнопку «Дополнительный параметры системы»
д) В отрывшемся окне «Свойства системы», во вкладке «Дополнительно» (она по умолчанию выделена/открыта), внизу ищем кнопку «Переменные среды». Жмем на нее
е) В открывшемся окне «Переменные среды», в верхней его части, а именно «Переменная среды пользователя. » нажимаем кнопку создать
ж) В открывшемся окне вводим имя переменной, у меня это Path (можно ли другую, я не знаю), а в поле «Значение» вводим наш скопированный путь (C:\Program Files\Java\jdk1.8.0_05\bin)
д) Жмем «ОК», сохраняем все.
4) Проверяем нашу ява машину
а) Запускаем консоль (либо WIN + r => затем cmd и Enter либо Пуск => вводим в поиск над пуском cmd и жмем Enter)
б) В открывшейся консоли, вводим java
в) После этого должно появиться куча команд ява, служебная информция и прочее, если все нормально подключилось, если нет, то выдаст ошибку, вроде «Нет такой команды», или что-то похожее. Если что-то не так, делай действия выше по новой.
5)Если все ок, идем дальше. Создаем нашу простую программу на java.
6)Открываем блокнот, и пишем там код ниже:
[code=java]public class Hellow
<
public static void main(String[] args)
<
System.out.println(«Hellow World!»);

13) в консоли, на новой строке, выскочит сообщение Hellow World!
Все.

Вот собственно алгоритм запуска ява программ из консоил виндоус.
Я не претендую на полноту изложения, убер крутой и новый материал, просто я две недели сам мучился с этой проблемой, и писал код в среде разработчика IDEA. И мучался тем, что имея уже какое-то представление о Java, не мог запустить ее через консоль. Меня это мучило, поэтому когда я смотря очередную лекцию, увидел в чем была моя ошибка, меня осенило, и я решил свою проблемы, сняв камень с души, и как следствие, успокоившись. На радостях, я решил, что если в мире есть хотя бы еще один человек, которому эта информация может помочь, то пусть будет так.

Спасибо за внимание и заранее извините за ошибки. Если когда-нибудь надо будет, может быть я исправлю все недочеты своей короткой статьи, а пока держите, как есть.
Удачи в программировании!

Источник

Error: Could not find or load main class in intelliJ IDE

I’m a beginner in Java and am trying to run my code using IntelliJ that I just installed as my IDE with JDK 1.7. The following piece of code keeps does not even compile and keeps giving me the error:

Is there any change that i have to make in the compiler settings?? Or is it the code.

no main class specified что делать

44 Answers 44

no main class specified что делать

no main class specified что делать

If none of the above answers worked for you, just close your IntelliJ IDE and remove the IntelliJ IDE file and folder from the root of your project:

Then open the project with IntelliJ. It must work now.

For me the solution was to fix the output directory under project settings. Before I was using just «target» for the Project compiler output. Instead I updated it to have a full path e.g. D:\dev\sigplusjava2_68\target no main class specified что делать

no main class specified что делать

I had this problem and I tried everything under the sun that I could think of and on this site.

None of my Java classes were being picked up after I pulled from a remote branch. All the classes had red Js by their names in the Project Hierarchy, not blue Cs.

In the end, I tried to follow this tutorial and a few steps in tried something not described and fixed the issue: https://www.jetbrains.com/help/idea/creating-and-managing-modules.html

For some reason, all my classes then had blue C’s.

Someone with a better understanding of how IntelliJ and/or IDE’s might be able to explain the phenomenon, but all I know is now it can see all the classes and more importantly the main one, and run.

no main class specified что делать

Invalidate cache and restart your IntelliJ, it worked for me.

no main class specified что делать

no main class specified что делать

Explicitly creating an out folder and then setting the output path to C:\Users\USERNAME\IdeaProjects\PROJECTNAME\out

no main class specified что делать

Also try having IntelliJ make you a new run configuration:

Find the previous one by clicking

no main class specified что делать

no main class specified что делать

Now, (IMPORTANT STEP) open the class containing your main method. This is probably easiest done by clicking on the class name in the left-hand side Project Pane.

Give ‘er a Alt + Shift + F10 and you should get a

no main class specified что делать

I know this was asked a while ago, but I was just stumbling over this issue and thought my findings might help others. As pointed out, the error message is basically a result of the out folder. That’s because, when you’re trying to run the program, it compiles the code first, and puts the compiled result to the out location, and then it tries to load the compiled code from the out location. If the compiled code is not in the location expected, you’ll get the error.

The point I’m particularly wanting to share is that some times, the code is not compiled (built), even though your run configuration specifies «Build» in the «Before launch» section of the configuration panel.

When can this happen? One situation that can cause this to happen is if you’re using modules and you manually delete the module out directory. For example, if I have a module named «foo», there should be a directory named foo under out/production. If you manually delete it, the build system may not know that it needs to be rebuilt.

Even worse, if you select Build | Build module ‘foo’, it still may not rebuild the module. If that’s the case, you should select a file in the module, for example ‘bar.java’ and then select Build | Recompile ‘bar.java’. Now the out directory out/production/foo should be restored.

Since IntelliJ typically knows about any changes going on, this surprised me, and took me a little time to figure out, so I thought I’d share.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *