Вопрос по java, eclipse, startup, project, startup-error – Ошибка: выделение не содержит основной тип

37

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

Я получаю сообщение об ошибке.selection does not contain a main type

Я пробовал несколько способов запустить его:

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

Didn»тоже не работает.

Я почти уверен, что это должно сработать, потому что я провел его несколько часов назад в школе. Как мне заставить это работать? Заранее спасибо!

Возможно, это проект maven, поэтому нажмите на название вашего проекта и нажмите следующие клавиши alt + f5, чтобы обновить проект. André Luís Tomaz Dionisio
У вас естьpublic static void main(String[] args) в любом месте? Aza
я не знаю, что вызывает это, или как решить это, но это наверняка случилось со мной с публичными классами, у которых есть метод main (правильно объявленный, конечно). Просто хотел отметить, что это может быть не так просто, как вы думаете jambriz
У меня есть публичный класс "название" расширяет JFrame user2321611
Я думаю, что все исследования указывают на то, что онпытается запустить некоторые классы без основного метода. Мы'Я буду продолжать расследование. aran

Ваш Ответ

14   ответов
6

Точкой входа для программ Java является метод:

public static void main(String[] args) {
    //Code
}

Если у вас этого нет, ваша программа не запустится.

0

Правый клик> Запустите AS> Запустить конфигурации

На этом экране, если ваш "Основной класс " Текстовое поле пустое, затем добавьте имя класса, нажав «Поиск" Нажмите кнопку справа от текстового поля и выберите файл класса. А затем нажмите "Бежать" кнопка в нижней части экрана конфигурации. Тот'сидеть

3

Я столкнулся с той же проблемой. Я исправил правой кнопкой мыши на упаковке -> свойства -> Путь сборки Java -> Добавить папку (выберите папку, в которой находится ваш код).

Если это не в другой версии,package должно бытьproject на вашем пути выше. Carcigenicate
3

Несколько вещей, чтобы проверить:

У вас есть основной пакет? все ваши классы находятся под этим пакетом?Используете ли вы основной класс с public static void main (String [] args)?Вы заявляете: пакет; в вашем основном классе?Вы всегда можете очистить проект перед его запуском. В Eclipse - просто зайдите в Project -> очистите, затем снова запустите приложение.
0

При сохранении файла убедитесь, что он имеет расширение .java. Если это не так, «Затмение» выигралоНе знаю, чтобы прочитать его как файл Java.

19

Надеюсь, вы пытаетесь запустить основной класс таким образом, см. Снимок экрана:

Если нет, попробуйте этот способ, и если да, то убедитесь, что у вашего класса, который вы собираетесь запустить, есть метод main i-e.

public static void main(String[] args){ // some code here}

такое же определение. Надеюсь, что это поможет вам.

0

Я столкнулся с той же проблемой и обнаружил, что существует дополнительная пара фигурных скобок (фигурных скобок), заключающая в себе общедоступную статическую пустоту main (String args) {...}. Этот метод действительно должен быть в верхней области видимости в классе и не должен быть заключен в фигурные скобки. Похоже, что при работе в Eclipse возможно получить скобки вокруг этого метода. Это может быть только один способ увидеть эту проблему при работе с Eclipse. Удачного кодирования!

43

Щелкните правой кнопкой мыши папку, в которую вы положили свой основной класс, затем нажмитеBuild Path -> ,Use as Source Folder

Наконец, запустите ваш основной файл как Java-приложение. Надеюсь, что эта проблема будет решена.

Исходная и целевая папки (гдеЗатмение ставит ваш основной класс) разные вещи. Ты имеешь в виду "Где вы положили исходный файл для основного класса ". Gangnus
это сработало для меня. У меня был исходный код Java Основы от Deital ... у меня есть главы, есть папки и Java-код внутри. Я переместил их все в исходный код, но все же мне нужно сделать этот шаг, чтобы он заработал. Ashu
0

Убедитесь, чтоmain вpublic static void main(String[] args) это нижний регистр. Для меня это неЯ не работал с заглавной буквы.

2

Я запускаю затмение из Ubuntu. Имел ту же проблему и смог запустить программу через терминал. Так что я просто перенес существующийpublic static void main(String[] args) { чуть ниже объявления класса (оно автоматически форматируется eclipse), и следующий запуск прошел успешно. Затем переместил метод main туда, где он был раньше, и на этот раз он работал нормально.

Этот ответ аккуратно указывает на какую-то ошибку в Eclipse и успешно исправляет ее. Казалось бы, бессмысленное действие, упомянутое в ответе, сработало для меня, даже если очистка проекта не сработала, а все остальное было в порядке. Похоже, что Eclipse иногда сохраняет недопустимое состояние класса даже после очистки проекта и запускает обновление только после того, как файл Java отредактирован и сохранен. Контекст: я скопировал некоторые файлы Java поверх существующих, а затем началась проблема. miroxlav
0

Я неоднократно делал это после добавления изображений в проект в Eclipse и включения их в путь сборки. Решением было щелкнуть правой кнопкой мыши класс, содержащийmain метод, а затем выберите Run As -> Приложение Java. Кажется, что когда вы добавляете файл в путь сборки, Eclipse автоматически предполагает, что файл находится там, гдеmain метод есть. Пройдя через меню «Запуск от имени» вместо простого нажатия зеленой кнопки «Запуск от имени», вы сможете указать правильную точку входа.

Что делать, если это говорит об этом, хотя тамявляется основной метод? trusktr
5

Я решил эту проблему, добавив новую исходную папку и поместив свой Java-файл в эту папку. "исходная папка " это не просто папка, в которую я верю. это какой-то особый тип папки для java / eclipse и может быть добавлен в eclipse, щелкнув правой кнопкой мыши на проекте -> свойства -> Java buld path -> Исходный код и добавьте папку

44

Все остальные ответы верны, однако, если у вас все еще есть проблема, у вас может не быть своего класса в папке src, и в этом случае Eclipse может не видеть его как часть проекта. Это также вызвало бы то же сообщение об ошибке, которое вы видели.

Спасибо, файлы, не находящиеся в папке src, стали для меня проблемой. Dois
1

Вы должны поместить все свои файлы (file.java) в корневую папкуSRC.

Похожие вопросы