В NetBeans нет основного класса
Я работал над заданием для своего класса в программировании. Я работаю с NetBeans. Я закончил свой проект, и он отлично работал. Я получаю сообщение, в котором говорится: "Нет основного класса", когда я пытаюсь запустить его. Вот некоторые из кода с основным:
package luisrp3;
import java.io.FileNotFoundException;
import java.io.PrintStream;
public class LuisRp3 {
public static void main(String[] args) throws FileNotFoundException {
java.io.File newFile = new java.io.File("LuisRamosp4.txt");
if (newFile.exists()) {
newFile.delete();
}
System.setOut(new PrintStream(newFile));
Guitar guitar = new Guitar();
Я разместил это раньше, но имел пару вопросов. я исправил остальные, и теперь осталось только одно. Любые советы будут высоко оценены.
Ответы
Ответ 1
- Щелкните правой кнопкой мыши по проекту в проводнике проекта.
- Нажмите свойства
- Нажмите "Выполнить"
- Убедитесь, что ваш основной класс является тем, кем вы хотите стать точкой входа. (Обязательно используйте полное имя, то есть mypackage.MyClass)
- Нажмите "ОК".
- Запустить проект:)
Если вы просто хотите запустить файл, щелкните правой кнопкой мыши на классе из проводника пакетов и нажмите "Запустить файл" или (Alt + R, F)) или (Shift + F6)
Ответ 2
Кроме того, для других существует немного другая проблема, когда Netbeans не найдет класс, когда вы хотите, когда вы просматриваете его из "диалогового окна основных классов".
Возможно, ваш основной метод имеет правильную подпись. В моем случае я забыл аргументы.
Пример:
public static void main (String [] args)
Модификаторы public и static могут быть записаны в любом порядке (public static или static public), но соглашение заключается в использовании public static, как показано выше.
Args: вы можете назвать аргумент чем угодно, но большинство программистов выбирают "args" или "argv".
Подробнее здесь:
http://docs.oracle.com/javase/tutorial/getStarted/application/
Ответ 3
У меня была такая же проблема в Eclipse, поэтому, возможно, что я сделал для ее решения, это может вам помочь.
В свойствах проекта мне пришлось установить конфигурацию запуска в файл, содержащий основной метод (я не знаю, почему он не был настроен на правый файл автоматически).
Ответ 4
В свойствах проекта на вкладке run укажите свой основной класс.
Кроме того, Чтобы избежать этой проблемы, вам нужно проверить "Создать основной класс" во время создания нового проекта. Указание основного класса в свойствах должно всегда работать, но если в каком-то редком случае это не сработает, проблема может быть решена путем повторного создания проекта и не забудьте проверить "Создать основной класс", если он не установлен.
Ответ 5
При создании нового проекта - приложение Maven - Java в Netbeans
IDE не распознает основной класс в записи первого класса. (на шаге 8 ниже мы не видим классов).
Когда сначала создается общий класс, а затем создается основной класс, Netbeans регистрирует основной класс, и приложение может быть запущено и отлажено.
Шаги, которые работали на меня:
- Создать новый проект - приложение Maven - Java
(созданный проект: mytest; созданный пакет: com.me.test)
- Щелкните правой кнопкой мыши пакет: com.me.test
- Новый > Класс Java > Именовал его "Что бы вы ни хотели"
- Щелкните правой кнопкой мыши пакет: com.me.test
- Новый > Основной класс Java > назвал его: "Основной" (должен быть "Основной" )
- Щелкните правой кнопкой мыши на Project mytest
- Нажмите Свойства
- Нажмите "Выполнить" > рядом с текстовым полем "Основной класс": > Обзор
- Вы должны увидеть: com.me.test.Main
- Выберите его и нажмите "Выбрать главный класс"
Надеюсь, это сработает и для других.
Ответ 6
если все это ваш код, вы забыли закрыть основной метод
все остальное звучит хорошо для меня
public class LuisRp3 {
public static void main(String[] args) throws FileNotFoundException {
java.io.File newFile = new java.io.File("LuisRamosp4.txt");
if (newFile.exists()) {
newFile.delete();
}
System.setOut(new PrintStream(newFile));
Guitar guitar = new Guitar();
}}
попробуйте
Ответ 7
Если совет по добавлению закрывающих брекетов работает, я предлагаю добавить отступ в ваш код, чтобы каждая закрывающая фигурная скобка была разнесена отдельно, то есть:
public class LuisRp3 {
public static void main(String[] args) throws FileNotFoundException {
// stuff
}
}
Это просто помогает с удобочитаемостью.
Если, с другой стороны, вы просто забыли скопировать закрывающие фигурные скобки в свой код, или приведенное выше предложение не работает: откройте конфигурацию и посмотрите, можно ли вручную установить основной класс. Боюсь, что я не использовал NetBeans много, поэтому я не могу помочь вам, где этот вариант. Мое лучшее предположение находится в разделе "Run Configuration", или что-то в этом роде.
Изменить: См. ответ peeskillet, если добавление закрывающих фигурных скобок не работает.
Ответ 8
В этой ситуации может быть несколько ошибок (предполагая, что у вас был код после вашего примера, и он не оставил ваш код без изменений).
Прежде всего, если вы используете весь проект, а не только текущий файл, убедитесь, что ваш проект является основным проектом, а основной класс проекта установлен в правильный файл.
В противном случае я видел одноклассников с хорошим кодом, но у них все еще была такая же проблема. Иногда, в Netbeans, простое исправление:
- Скопируйте текущий код (или создайте резервную копию в другом месте)
- Удалить текущий файл
- Создайте новый основной класс в своем проекте (его можно назвать старым)
- Вставьте свой код обратно в
Если это не работает, попробуйте очистить кеш Netbeans, а если все остальное не удастся, просто выполните чистую установку и переустановку Netbeans.
Ответ 9
Вам нужно добавить }}
в конец вашего кода.
Ответ 10
Вам нужно переименовать свой основной класс в Main
, это не может быть ничего.
Неважно, сколько файлов в виде пакетов и классов вы создаете, вы должны назвать свой основной класс Main
.
Что все.
Ответ 11
import java.util.Scanner;
public class FarenheitToCelsius{
public static void main(String[]args){
Scanner input= new Scanner(System.in);
System.out.println("Enter Degree in Farenheit:");
double Farenheit=input.nextDouble();
//convert farenheit to celsius
double celsuis=(5.0/9)*(farenheit 32);
system.out.println("Farenheit"+farenheit+"is"+celsius+"in celsius")
{
Ответ 12
В панели инструментов поиска нажмите стрелку и выберите Настроить...
Он откроет свойства проекта. В категориях выберите RUN.
Ищите главный класс.
Очистите все символы главного класса и введите имя своего класса.
Нажмите "ОК".
И снова бегите.
Проблема решена.
Ответ 13
Похоже, проблема NetBeans, я попробовал проект на 2 разных ПК Результат: Шаг 1 ПК 1: Создать новый простой проект. Проект работает нормально. ПК 2: Создайте тот же новый простой проект, проект показывает ту же ошибку "Основной класс не найден". Шаг 2: Скопируйте проект de с ПК1 на ПК2 ПК 1: все работает нормально ПК 2: та же ошибка "Основной класс не найден"
Основное различие между ПК ПК 1: 64 бит W10 ПК 2: 32 бит W7
Может быть, чистая установка работает...
Ответ 14
Я также испытывал Netbeans, жаловавшегося мне на "Основные классы не найдены". Проблема была в проекте, который, как я знал, работал в прошлом, но потерпел неудачу, когда я попробовал его на другом компьютере.
Мои конкретные причины сбоев, вероятно, отличаются от OP, но я все же поделюсь тем, что я узнал в процессе отладки, в случае, если эти идеи помогут кому-нибудь выяснить свои собственные уникальные проблемы, связанные с этой темой.
Я узнал, что после запуска NetBeans он должен выполнить шаг, который называется "Сканирование проектов..."
![Scanning projects...]()
До этого этапа вы должны заметить, что любой файл .java, который у вас есть с методом main(), будет отображаться на панели "Проекты" со значком, похожим на этот (без стрелки):
![icon before scanning]()
После завершения этой фазы сканирования, если в файле обнаружен метод main(), значок этого файла изменится на (со стрелкой):
![icon after scanning]()
Поэтому в моей системе этот шаг "Сканирование проектов..." не удался, и вместо этого он застрял бы на шаге "Открытие проектов".
Я также заметил маленькую красную иконку в правом нижнем углу, которая намекала на проблему, которая меня беспокоит:
![Unexpected exception]()
Unexpected Exception
java.lang.ExceptionInInitializerError
При нажатии на эту ссылку я получил более подробную информацию об ошибке:
java.security.NoSuchAlgorithmException: MD5 MessageDigest not available
at sun.security.jca.GetInstance.getInstance(GetInstance.java:159)
at java.security.Security.getImpl(Security.java:695)
at java.security.MessageDigest.getInstance(MessageDigest.java:167)
at org.apache.lucene.store.FSDirectory.<clinit>(FSDirectory.java:113)
Caused: java.lang.RuntimeException
at org.apache.lucene.store.FSDirectory.<clinit>(FSDirectory.java:115)
Caused: java.lang.ExceptionInInitializerError
at org.netbeans.modules.parsing.lucene.LuceneIndex$DirCache.createFSDirectory(LuceneIndex.java:839)
Это упоминание о "java.security" напомнило мне, что я возился с этим машинным файлом "java.security" (точнее, я выполнял шаги Сальвадора Валенсии из этого потока, но сделал это неправильно и сломал "java.security" в процессе:))
Как только я восстановил повреждение, нанесенное моему файлу "java.security", шаг NetBeans "Сканирование проектов..." снова начал работать, маленькие зеленые стрелки снова появились на моих файлах, и у меня больше не было этого "Нет основного". классы найдены "проблема.
Ответ 15
Нажмите молоток слева от зеленой стрелки (запустите), чтобы программа могла очистить и построить проект.
Нажмите зеленую стрелку.
Выберите Основной класс.
Надеюсь, что это сработает для u.
Ответ 16
Убедитесь, что модификатор доступа общедоступный, а не закрытый. У меня проблема с этой проблемой и всегда моя проблема.
public static void main (String [] args)