Ошибка Eclipse: Selection does not contain a main type.

 Selection does not contain a main type.

При начале работы с IDE Eclipse не всегда понятно, почему возникают ошибки. Особенно это касается простых программ, с первого взгляда абсолютно понятных. Одной из таких ошибок является ошибка Eclipse: Selection (Editor) does not contain a main type.

Ошибка возникает когда компилятор ищет метод main(String[] args){} в активном файле проекта, который запущен. Поскольку этот метод может быть недоступен по разным причинам, то и причин ошибки может быть несколько. Разберем их по пунктам.

Возможные причины ошибки Eclipse: Selection (Editor) does not contain a main type и как их исправить.

 

          1. Причина: Неправильное написание метода main.

Правильные варианты использования таковы:

 

public static void main(String[] args){ 
    System.out.println("Hellow world"); // эта функция сработает 
}
public static void main(String args[]){ 
    System.out.println("Hellow world"); // эта функция сработает 
}

 

Варианты неправильного написания:

public class MethodTest{
    public static void main()
    {
        System.out.println("Hellow world"); // эта функция не сработает,
            //поскольку main не содержит аргументов
            //и по существу не является тем методом, который ищет компилятор
   }
}
//////

public class MethodTest{
    public static void main(String [] args)
    {
        System.out.println("Hellow world"); // эта функция может не сработать, 
            //поскольку main содержит пробел между String и []
    }
}

//////

         2. Причина: Eclipse не может найти файл. Да, файл может быть открыт в Eclipse, но компилятор видит только те файлы, которые прописаны в файле .classpath проекта. И может так случиться, что хотя файл вы и редактируете в Eclipse, но в .classpath он не внесен. Проверить виден ли файл, можно, обратив внимание на значок файла в package explorer (дереве пакетов слева =) ). Если значок - буква J белого цвета с синей обводкой, то файл не виден. Если же значок - J целиком синего цвета - файл виден.

         2.1 Решение: Правый клик по файлу в package explorer --> Build path --> Add to build path || Include
         2.2 Решение: Создайте новый проект и скопируйте файлы в него.
         2.3 Решение: Перенесите файлы в папку src (она по умолчанию прописана в .classpath)
         2.4 Решение: Если файл не один, а несколько, то проще всего добавить в buid path сразу всю папку с файлами которые участвуют в проекте. Правый клик по проекту в package explorer --> Build path --> Configure build path -->  вкладка Source --> Add Folder --> выберите папку с вашими файлами. Папка должна быть внутри папки проекта.


         3. Причина: Запуск приложения происходит не из вкладки с main

Решение: запускайте из вкладки файла, в котором находится ваш main. =)


Если вам помогла статья (и тем более, если не помогла =)) - оставляйте благодарности, вопросы, замечания в комментариях!

 

Категория: 
Была ли статья полезна: 

Комментарии

Большое спасибо. Статья помогла. Думал, что компилятор допускает запуск main без аргументов, а оказалось, что нет smiley

Пожалуйста!

Спасибо!

реально топик помог. перенёс в src и всё заработало. Автору большое спасибо :)

Рад, что эта заметка продолжает помогать людям :) Успеха!

Спасибо все заработало.А где должен быть файл *.java по умолчанию в проекте?Т.е он и должен находиться в src или в какой то другой директории?

Безусловно, можно использовать и другие папки, но src используется по умолчанию.

 

В папке src должно находиться дерево папок, в которых будут ваши java файлы. Дерево соответствует пакету (package), в котором находятся ваши классы и прочее. Например, класс Test находится в пакете com.technerium.var, тогда ваш файл Test.java будет находиться в папке /src/com/technerium/var.

Здравствуйте! 

Проблема в том, что Eclips то выводит в консоль то НЕ выводит в нее данные!

Т.е. в прямом смысле один день работает консоль, а другой нет! 

Странно все это! Можете посоветовать куда смотреть?

С ууважением Tim

С подобным не сталкивался.

 

Что значит не выводит? У вас программа отрабатывает?

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

HTML

  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre> <p>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Поместите примеры вашего исходного кода в теги <code>...</code> or <source>...</source> и он будет красиво отформатирован.

Plain text

  • Поместите примеры вашего исходного кода в теги <code>...</code> or <source>...</source> и он будет красиво отформатирован.
  • Строки и параграфы переносятся автоматически.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <code> <source>
CAPTCHA
Пожалуйста, подтвердите, что вы человек.