Этот ответ предполагает, что вы хотите использовать 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 в настройках проекта.Кроме того, проект должен быть готов к работе, со всеми правильно настроенными исходными путями, библиотечными зависимостями и т. Д.