Как настроить проект Scala в IntelliJ IDEA, который использует библиотеки git - PullRequest
3 голосов
/ 20 января 2012

Я бы хотел попробовать IntelliJ IDEA, но понятия не имею, как начать.

Я просто пытаюсь создать новый проект, который использует Finagle Echo Server , размещенный на github, в качестве отправной точки.

Предполагается, что я начинаю с чистой установки на Mac. Я установил IDEA и добавил плагины Scala и SBT. Какие шаги я должен предпринять, чтобы создать проект, использующий Finagle и запустить код в примере http-сервера?

ПОЖАЛУЙСТА, помогите. Я понимаю, что мой вопрос звучит глупо, но существует так много разных подходов к работе с проектами Scala из командной строки SBT, Scala-IDE, Idea и т. Д., Что я просто не знаю, как создать комфортную среду разработки .

Ответы [ 2 ]

2 голосов
/ 21 января 2012

Ручное решение, которое не требует использования SBT для вашего проекта, может быть более простым, учитывая проблемы с версиями SBT. Вы все равно будете использовать SBT для сборки finagle.

  1. Установите скрипт бегуна SBT согласно шагу 1 выше. (Он также может работать с проектами SBT 0.7).
  2. Вручную git clone git://github.com/twitter/finagle.git.
  3. Перейдите в каталог finagle и введите «sbt package». Его зависимости должны заканчиваться на lib_managed, и он должен сам создавать банки finagle под target / или что-то подобное (просто обратите внимание на расположение в выводе команды).
  4. Создайте проект IDEA с нуля и вручную добавьте зависимости к банкам finagle и их зависимости (в разделе Структура проекта-> Зависимости).
2 голосов
/ 21 января 2012

Этот ответ предполагает, что вы хотите использовать SBT.Кроме того, я должен уточнить, что это моя обычная процедура, но я не подтвердил, что она работает, в частности, с finagle.

0.Установите IDEA с плагинами Scala и SBT. (сделано OP; здесь для других)

1.Установите SBT (автоматический метод). Скопируйте этот удобный скрипт sbt runner в удобное место (или, если вы хотите сохранить его в актуальном состоянии, git clone https://github.com/paulp/sbt-extras.git и вставьте ссылку на скрипт в ~ / bin) и убедитесь, что он исполняемый.Он автоматически загрузит все, что ему нужно, на основе sbt.version, указанного в ваших build.properties.

2.Установите sbt-idea. sbt-idea - это плагин SBT (не плагин IDEA), который генерирует файлы модуля IDEA из проекта SBT.Это удобно устанавливать глобально, так как это не зависит от проекта.Вам не нужно ничего скачивать вручную;просто добавьте это в ~ / .sbt / plugins / build.sbt:

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "0.11.0")

3.Создайте проект SBT. Создайте каталог для своего проекта и каталог «проекта» внутри него.Создайте project / Build.scala следующим образом:

import sbt._

object MyBuild extends Build {
  lazy val root = Project("root", file(".")) dependsOn finagle
  lazy val finagle = RootProject(uri("git://github.com/twitter/finagle.git"))
  }

См. Документацию SBT, где вы найдете множество других опций для настройки вашего проекта.Обратите внимание, что мы должны использовать Полная конфигурация здесь (не только build.sbt) для выражения зависимости github.

Также неплохо создать project / build.properties:

sbt.version=0.11.2
project.version=0.1
build.scala.versions=2.9.1

4.Сгенерируйте проект IDEA. cd в каталог, содержащий проект на основе sbt.наберите "sbt gen-idea".Если все идет хорошо, каталог будет иметь подкаталоги «.idea» и «.idea_modules».

5.Откройте проект в IDEA. Возможно, потребуется исправить целевую версию JDK в настройках проекта.Кроме того, проект должен быть готов к работе, со всеми правильно настроенными исходными путями, библиотечными зависимостями и т. Д.

...