Простой пример кода Scala на веб-сайте Scala, но при попытке его запустить встретил раздражающую ошибку.
Вот код: http://www.scala-lang.org/node/45. При запуске на Eclipse я получил это сообщение: "Редактор не содержит основного типа", который предотвращает его запуск.
Есть ли что-нибудь, что мне нужно сделать... i.e разбить этот файл на несколько файлов или что?
У меня эта проблема много с Eclipse и Scala. Это помогает, если вы очищаете свое рабочее пространство и перестраиваете свой проект.
Иногда Eclipse не распознает, какие файлы он должен перекомпилировать: (
Изменить: Код отлично работает в Eclipse
В Eclipse убедитесь, что вы добавили исходную папку в свойства проекта → путь сборки java → source. В противном случае функция main() может не включаться в ваш проект.
Вы должны убедиться, что ваши .java файлы находятся в папке .src в eclipse. У меня была такая же проблема, пока я не понял.
Более простой способ - закрыть проект и снова открыть его!
Просто убедитесь, что папка, в которой вы работаете, добавлена в построенный путь:
right-click
Ваша папка, → build Path
→ Use as source Folder
и теперь он должен найти main
в нем
надеюсь, что это поможет
У меня была та же проблема. Я пробовал всевозможные вещи. И я узнал, что
Что я сделал:
Свойства проекта → Путь сборки Java → Источник
Это решило ошибку.
***
Просто закройте и снова откройте
*** ваш проект в затмении. Иногда возникают проблемы с привязкой. Это решило мою проблему
Что вам нужно сделать, создайте проект Java, но убедитесь, что вы поместили этот файл в пакетный файл этого проекта, иначе вы столкнетесь с той же ошибкой.
Вы можете попробовать запустить основную функцию из боковой панели eclipse.
<project root> [in Tut_RMI] does not exit
. (Имя проекта Tut_RMI
) Является ли это имя проекта недействительным?
вам следует создать файл
выбрав с правой стороны имя файла,
под которым будет найден src-папка их правой кнопкой мыши select → class option
их файл должен быть создан
Быстрое решение:
Во-первых, исключите пакет: Щелкните правой кнопкой мыши исходный пакет → Путь сборки → Исключить
Затем включите его обратно: Щелкните правой кнопкой мыши исходный пакет → Путь сборки → Включить
Этот код действителен. Вы пытались скомпилировать его вручную с помощью scalac? Кроме того, вы назвали свой файл "адресной книгой", все строчные, как имя объекта?
Кроме того, я обнаружил, что Eclipse по какой-то причине устанавливает основной класс как ".addressbook" вместо "адресной книги".
Если это проект maven, пожалуйста, проверьте, что файл java создан в src/main/java
Если вы не получаете, пожалуйста, измените путь JRE и создайте java файлы в указанной структуре папок
Это может быть проблемой в пути Java Build. Попробуйте выполнить следующие шаги:
Это должно решить проблему.
запустите "eclipse -clean -refresh" из командной строки. Это устранило проблему для меня, когда все другие решения не удались.
У меня была та же проблема. У меня был основной класс из пакета src, в другой папке. Я перемещаю его и исправляю папку и решаю
Убедитесь, что ваш .java файл присутствует либо в пакете str, либо в другом пакете. Если файл java с основной функцией находится за пределами всех пакетов, эта ошибка возникает.
Может быть, файл, который вы создали, находится вне папки src (source). Попытка вызвать объект класса (из файла, находящегося в папке src) из файла .java за пределами исходной папки, приводит к той же ошибке. Скопируйте файл .java в исходную папку, а затем создайте его. Ошибка исчезнет.
У меня была эта проблема с проектом Java, который я импортировал из файловой системы (под Eclipse Helios). Вот подсказка: код src вообще не компилировался, так как не появилось каталога "bin".
Мне пришлось создать проект Java с нуля (с помощью мастера), а затем сравнить .project
файлы нерабочих и рабочих проектов.
Проект, предоставляющий "Редактор не содержит основного типа", имел это как "buildSpec" в файле .project:
<buildSpec>
</buildSpec>
Но рабочий проект имел это как "buildSpec":
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
Я скопировал это, и импортированный проект работал.
Я знаю, что мой ответ для Java, но то же самое может быть проблемой для вашего проекта Scala.
Правильный ответ: библиотека Scala должна быть до библиотеки JRE в пути построения.
Перейдите в Java Buildpath > Закажите и экспортируйте и переместите библиотеку Scala в начало
У меня тоже была эта проблема. Решение состоит в том, чтобы убедиться, что eclipse создало проект как проект Java. Просто создайте новый проект Java и скопируйте свой класс в папку src (и импортируйте возможные зависимости). Это должно устранить проблему.
Вы столкнулись с подобной проблемой, разрешив это, щелкнув правой кнопкой мыши по основному методу в виде контура и запустив его как приложение Java.
По причине ошибки: "Редактор не содержит основного типа"
Ошибка, встречающаяся в: Eclipse Neon
Операционная система: Windows 10 Pro
При копировании исходных папок с большого пальца и оставьте папку Eclipse_Projects.metadata.
Помимо новой установки, вам нужно будет убедиться, что вы объедините файлы из (Thrumb-drive) F: Eclipse_Projects.metadata.plugins.
Эти плагины - это биты и куски кода библиотеки, взятые из SDK при создании класса. Я действительно все зависит от того, что вы импортируете javax.swing. *; ----- в свой файл. Поскольку вы передаете его, обязательно соедините ------ Eclipse_Projects.metadata.plugins ------ вручную с простой копией и вставкой, принимая при этом функцию пропуска для уже существующих плагинов в вашей папке.
Для окон 10 вы можете найти свои рабочие папки по аналогичной схеме иерархии файлов.
C: Пользователи > Mikes Laptop > workspace > .metadata > .plugins < --- merge плагины здесь
В моем конкретном случае "Hello World" причиной этой проблемы был тот факт, что мой метод main()
находился внутри Scala class
.
Я поместил метод main()
в Scala object
, и ошибка исчезла.
Это потому, что Scala object
в терминах Java - это объект с только статическими элементами и методами внутри.
Вот почему Java public static void main()
в Scala должен быть помещен под object
.
(Scala class
не может содержать статический код внутри)
Попробуйте "Обновить проект". Как только я это сделал, появилась опция "Запуск от Java".
У меня тоже есть эта проблема после того, как я изменил исходную папку. Решение, которое работало, - это просто отредактировать файл и сохранить его.
Еще одна вещь, которую нужно проверить: убедитесь, что ваш исходный файл содержит правильное объявление пакета, соответствующее его подкаталогу. Ошибка, упомянутая OP, может быть видна при попытке запустить "основной тип", объявленный в файле в подкаталог, но отсутствует инструкция пакета.
Файл → Импорт → Существующие проекты в рабочее пространство → Выберите "Архивный архив" → Просмотрите и найдите файл → Завершить. Если он уже импортировал какой-то другой способ, удалите его и попробуйте так. У меня была такая же проблема, пока я не попробовал это.
В худшем случае - создайте проект еще раз со всеми импортами с самого начала. В моем случае ни один из других вариантов не работал. Этот тип ошибок указывает на наличие ошибки в настройках проекта. Однажды мне удалось это решить, но как только были сделаны дальнейшие разработки, ошибка вернулась. Воспроизведение всего с самого начала помогло мне понять и оптимизировать некоторые ссылки, и теперь я уверен, что он работает правильно.
Выполните следующие шаги:
Вам нужно найти файл .java
в папке src
(в Project Explorer Eclipse), а затем запустить.
Я просто добавил файл .java
в проект, и он не находится в папке src
, поэтому у меня такая же ошибка.
Я положил его на src
, затем он был создан.
Для меня в Eclipse 3.6 эта проблема возникает, когда мой основной метод не является общедоступным. Я вызвал проблему, имея основной метод:
static void main(String[] args)
Dubugger не смог обнаружить это сам. Я очень удивлен, что Eclipse упустил это.