world - scala setup idea




Как использовать Scala в IntelliJ IDEA(или: почему так сложно получить рабочую среду IDE для Scala)? (6)

Недавно я отказался от попытки использовать Scala в Eclipse (базовые вещи, такие как завершение, не работают). Так что теперь я пытаюсь IntelliJ. Я не очень далеко.

Я смог редактировать программы (в подсветке синтаксиса и завершении ... yay!). Но я не могу запустить даже самый простой «Hello World». Это была оригинальная ошибка:

Scala signature Predef has wrong version
Expected 5.0
found: 4.1 in .... scala-library.jar

Но это было вчера с IDEA 9.0.1. Смотри ниже...

ОБНОВИТЬ

Сегодня я удалил IntelliJ 9.0.1 и установил 9.0.2 Early Availability с 4/14 стабильной версией плагина Scala.

Затем я настраиваю проект с нуля с помощью мастеров:

  • новый проект с нуля
  • JDK 1,6 .u20
  • принять по умолчанию (проект) вместо глобального / модуля
  • принять загрузку Scala 2.8.0beta1 в папку lib проекта

Создал новый класс:

object hello {
  def main(args: Array[String]) {
    println("hello: " + args);
  }
}

Для моих усилий у меня теперь есть совершенно новая ошибка :)

Вот:

Внутренняя ошибка Scalac: класс java.lang.ClassNotFoundException [java.net.URLClassLoader $ 1.run (URLClassLoader.java:202), java.security.AccessController.doPrivileged (собственный метод), java.net.URLClassLoader.findClass (URLClassLoader.java : 190), java.lang.ClassLoader.loadClass (ClassLoader.java.307), sun.misc.Launcher $ AppClassLoader.loadClass (Launcher.java:301), java.lang.ClassLoader.loadClass (ClassLoader.java:248) , java.lang.Class.forName0 (Native Method), java.lang.Class.forName (Class.java:169), org.jetbrains.plugins.scala.compiler.rt.ScalacRunner.main (ScalacRunner.java:72) ]

ЗАКЛЮЧИТЕЛЬНОЕ ОБНОВЛЕНИЕ

Я удалил 9.0.2 EA и переустановил 9.0.1, но на этот раз пошел с версией Scala 2.7.3, а не по умолчанию 2.7.6, потому что 2.7.3 - это тот, который показан на снимках экрана на веб-сайте IntelliJ ( Думаю, скриншоты доказывают, что они действительно протестировали эту версию!). Теперь все работает !!!


Вчера у меня была такая же проблема, пытаясь ее настроить. Решение довольно просто, вам просто нужно установить scala где-нибудь в настройках проекта.


Вы смешиваете код, скомпилированный с двумя разными версиями Scala.


Установка подключаемого модуля является обязательным условием.

Следующее, что вам нужно сделать, это определить библиотеку (глобальную или специфичную для проекта, я использую глобальную), которая содержит библиотеки Scala и JAR-файлы компилятора (как минимум, это scala-compiler.jar и scala-library.jar ). Добавление исходных JAR и JAR документации или URL-адресов - тоже хорошая идея. Затем сделайте эту библиотеку зависимой от любых модулей вашего проекта, включая Scala-код.

Наконец, найдите графы Scala в этих модулях и отмените выбор флажков.


Чтобы ответить на ваш вопрос, трудно получить рабочую среду IDE для Scala по двум причинам: (a) Scala только начинает достигать широкой аудитории и (b) из-за (a), нет никакого бизнес-случая для проведения времени на Scala IDE.

Кроме того, если вы достаточно взрослые, чтобы отбросить свой ум назад и достаточно молоды, чтобы все еще помнить, вы бы знали, что в течение первых пяти или более лет Java мы застряли в хороших инструментах, таких как JBuilder, которые сделали немного больше, чем скомпилировать ваши код, когда вы это сказали - отсутствие подсветки ошибок, отсутствие автоматического импорта, а слово refactoring даже не существует. Если вы хотите стать пионером, вам нужно быть готовым самостоятельно отрезать дорогу, или, по крайней мере, кустарник.

Я знаю, что это вам не поможет, но я успешно использовал IDEA для Scala в Linux, Mac и Windows. Обычно я устанавливаю Scala SDK где-то локально и указываю IDEA, а не используя опцию «загрузка».

В настоящее время я в основном использую EAP версию IDEA 9 в Mac OS X с Scala 2.8.0.Beta1-RC5, и она работает хорошо (за исключением того, что fsc, похоже, не работает со смешанными источниками).

Вы можете испытать свою удачу на форуме обсуждения плагинов Scala IDEA , хотя у меня не было большого количества ответов на мои собственные сообщения.


Я получил эту ошибку, а также щелкнул правой кнопкой мыши по проекту и «Открыть настройки модуля». Однако это было больше, чем просто удар. Я должен был убедиться, что мой корневой контент был правильным для каждого проекта. По некоторым причинам были некоторые неправильные исходные и тестовые папки.

В моем проекте используется maven как основной инструмент построения, и импортирование проекта в Intellij, вероятно, создало эти неправильные настройки.


Я просто сделал новую инсталляцию и сам был такой же проблемой. Оказалось, что, поскольку я создал файл в корневом пакете, IDEA добавила оператор пакета вверху, назвав пакет. Я предполагаю, что это затем скомпилировано как «основной объект пакета» - допустимый синтаксис в 2.8? Во всяком случае, я удалил строку, в которой указан пакет, и все это работало нормально.





scala-2.7