Исходные файлы Scala не распознаются компилятором в Eclipse - PullRequest
5 голосов
/ 20 марта 2012

Я работаю над проектом playframework, который я затмил из консоли и открыл из Eclipse.

Однако мои исходные файлы scala обрабатываются Eclipse как исходные файлы java с получающимися ошибками компиляции.

Может кто-нибудь помочь, пожалуйста?

РЕДАКТИРОВАТЬ: Мой .project файл:

<projectDescription>
  <name>web</name>
  <buildSpec>
    <buildCommand>
      <name>org.scala-ide.sdt.core.scalabuilder</name>
    </buildCommand>
  </buildSpec>
  <natures>
    <nature>org.scala-ide.sdt.core.scalanature</nature>
    <nature>org.eclipse.jdt.core.javanature</nature>
  </natures>
</projectDescription>

Ответы [ 4 ]

5 голосов
/ 20 марта 2012

У меня были подобные проблемы в прошлом. Я думаю, что проблема заключалась в Java Builder для проекта. Это содержимое файла .project, который может создавать Java, а также Scala классы. Вы можете сравнить его с вашей собственной конфигурацией:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>debug-s</name>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.scala-ide.sdt.core.scalabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.scala-ide.sdt.core.scalanature</nature>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>
4 голосов
/ 20 марта 2012

Официальная поддерживаемая версия для Scala-ide - Helios, версия Indigo все еще классифицируется как экспериментальная. Тем не менее, вы можете попробовать добавить Scala Nature в ваш проект. Щелкните правой кнопкой мыши на Project, выберите Configure->Add Scala Nature или посмотрите на идеи в одном из двух вопросов, с которыми я связан.

2 голосов
/ 31 мая 2012

Вчера я дважды сталкивался с той же проблемой, ДВАЖДЫ, в проекте, который работал просто отлично (так что мой характер проекта был в порядке). Оба были вызваны запуском Maven из Eclipse с целью eclipse:eclipse (добавить ссылки на новые jar-файлы), которая изменилась вокруг моего файла .classpath и сделала все мои файлы .scala красным. Возврат .classpath для соответствия моей ранее работающей версии (за исключением новых jar-файлов) не исправит ошибки компиляции. Я перезапустил Eclipse, перестроил, почистил, извлек Java и Scala натуры в и из файла .project, сравнил все с версиями, которые работали час назад ... все еще красными. Очень расстраивает.

Я точно не помню, какая комбинация этих шагов исправила вещи вчера, но только сейчас я пришел, сделал очистку, перезагрузил и т. Д., Но все файлы Scala были повреждены. Вздох. Затем "хммм", и я отредактировал один из файлов .scala. Это вызвало "реальную" сборку, и теперь все в порядке. ?!?!?

TL; DR , если ваш проект ранее был в порядке, а теперь ВСЕ ваши файлы .scala повреждены, попробуйте выполнить тривиальное редактирование одного из них, это сработало для меня

0 голосов
/ 19 декабря 2013

У меня была такая же проблема. Я использую Eclipse 4.3 (Kepler) и
Scala IDE для Eclipse 3.0.1.v-2_10-201307101641-eff8147. У меня есть проект maven scala, который я затмил и импортировал. Это работало просто отлично, но когда я импортирую пакеты java, весь файл больше не компилируется. Я смог заставить его скомпилировать снова, изменив порядок библиотек. Но тогда этот трюк больше не работал, и все мои файлы scala стали не компилируемыми. Я попробовал все предложенные здесь вещи (танец Затмения) безрезультатно.

Затем я попытался создать новый проект Scala в Eclipse. Я скопировал файл .classpath и каталог src из оригинального проекта - и так далее! Теперь он компилируется просто отлично. В файлах Eclipse, созданных maven, должна быть проблема.

ETA: я проверил мой файл .project, созданный maven. Это было указано в нем: <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> </buildCommand>

И когда я вынул его, проблема исчезла. У меня тоже была другая проблема: <comment>myproject. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>

Наверное, поэтому javabuilder появился на первом месте. Я должен был добавить скальпель, добавив Scala Nature в свой проект. Может быть, эта проблема не появится, если я добавлю плагин M2Eclipse. Я попробую и посмотрю.

...