Ответ 1
Собственно, я понял.
-
если у вас есть проект с
build.sbt
(который использует файл 2.10.1 scala) - как только вы наберетеsbt
.. все зависимости будут загружены в папку~/.sbt
- даже scala будет загружен там (~/.sbt/boot
). Это может быть даже несколько версий scala: 2.10.1 и 2.9.2, например. -
и о sbt-idea и
~/sbt/plugins
.. он может любой версии scala - в зависимости от файлаbuild.sbt
, например, в моем случае:
resolvers + = "Сонатные снимки соната" в " http://oss.sonatype.org/content/repositories/snapshots/"
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0-SNAPSHOT")
Я бы заметил, если попробую другую версию.. вроде 1.1.0-M2-TYPESAFE, это не сработает.. (по крайней мере, в моем случае) - < Тогда команда t27 > недоступна. Я не знаю почему. Думаю, это должно быть.
Также, если вы не укажете resolvers +=
- это не сработает... но это не расскажет вам об этом.
Этот плагин использует scala 2.9.2 - мы не можем видеть его здесь, но мы можем видеть его из тех выходов, которые он производит при установке/загрузке. Поэтому мы имеем ~/.sbt/boot/scala-2.9.2/
.
В любом случае мы не должны заботиться об этом. Он обрабатывается sbt.
Когда вы преобразовали свой sbt-проект в проект intellij-idea, набрав gen-idea
в sbt-консоли, в результате ваш проект IDE будет ссылаться на ~/.sbt/scala
, но не на ваш-где-то установленный scala.. Поэтому даже не нужно указывать расположение scala - sbt-idea sbt-плагин выполнит всю работу. И это хорошо!
Это ответ, который я хотел получить. Его можно понять/понять, попробовав его.