Ошибка: scala: No 'scala -library *.jar' в Scala библиотеке компилятора
Среда: Play 2.3.0/ Scala 2.11.1/IntelliJ 13.1
Я использовал Typafe Activator 1.2.1 для создания нового проекта с Scala 2.11.1. После создания проекта я запустил gen-idea
. Сгенерированный проект IDEA не скомпилируется с ошибкой:
Error: scala: No 'scala-library*.jar' in Scala compiler library in test
Я что-то делаю неправильно? Обходной путь?
![enter image description here]()
Ответы
Ответ 1
С IDEA 13 вы должны использовать поддержку SBT, которая поставляется с плагином Scala.
С ним нет необходимости добавлять сторонние плагины SBT и запускать специальные команды; просто импортируйте проект, используя пункт меню "Файл → Импорт проекта...", и он автоматически загрузит структуру проекта SBT и его зависимости.
Ответ 2
-
Открыть файл → Структуры проекта → Библиотеки, удалить любой scala sdk в нем, например. scala -sdk-2.11.8 на следующем изображении.
![введите описание изображения здесь]()
-
Нажмите +, затем scala SDK.
![введите описание изображения здесь]()
-
Выберите правильный scala SDK из списка, для меня это Ivy- Scala -2.11.8, показанное на картинке. ![введите описание изображения здесь]()
-
Выберите текущий проект (мой spark-test
), нажмите "ОК".
![введите описание изображения здесь]()
-
Затем нажмите OK, чтобы закрыть его.
![введите описание изображения здесь]()
-
Запустите снова, теперь он должен работать.
Ответ 3
У меня была такая же проблема с файлами .idea, сгенерированными идеей. /activator с игрой 2.3. Быстрое решение - посмотреть в "Структура проекта- > модули" и отметить имя библиотеки компилятора. Для меня это было "SBT: scala2.11.1". Взгляните в "Структура проекта- > Библиотеки" и проверьте содержимое этой библиотеки. Он должен содержать scala -compiler.jar, scala -library.jar, scala -reflect.jar. Если этих библиотек нет, добавьте их (в моем случае они находятся в ~/.sbt/boot/scala -2.11.1/lib).
Ответ 4
Для IDEA 15 и проекта, экспортированного из Activator 1.3.5, только решение Russell помогло на данный момент.
Я исправил библиотеку компилятора scala с добавлением 3 библиотек, расположенных в ~/.sbt/boot/scala -2.11.1/lib, в путь и классы классов компилятора библиотеки. После индексации проекта я переместил эту библиотеку в глобальные библиотеки IDEA и там был сохранен.
Ответ 5
У меня была такая же проблема.
Если вы строите свой проект с помощью внешнего sbt
ie sbt compile
, тогда он будет создавать или добавлять зависимости в библиотеках (также все внешние зависимости), а scala sdk будет добавлен как SBT:scala*
на основе версии вашего scala.
Таким образом, вы можете удалить SDK
с помощью SBT в качестве префикса и добавить правильный SDK через Intellij.
File->Project Structure->Libraries
Удалите SDK SDT и добавьте его вручную.
Ответ 6
Для меня с IDEA 12 я исправил эту проблему, когда я снял флажок "Использовать внешнюю сборку" в "Настройки.компилятора".