it-swarm.com.ru

Ошибка: выделение не содержит основной тип

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

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

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

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

Тоже не сработало. 

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

37
user2321611

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

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

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

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

19
NoNaMe

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

44
zen

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

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

43
Rashid

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

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

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

6
Aza

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

5
mishal153

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

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

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

3
Yang Zhang

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

2
hipokito

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

1
Dev M

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

0
sander

При сохранении файла убедитесь, что он имеет расширение .Java. Если этого не произойдет, Eclipse не будет знать, чтобы прочитать его как файл Java.

0
KC McLaughlin

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

0
Keven M

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

0
shivesh suman