我按照these步骤为IntelliJ构思配置项目。
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0")
我使用sbt-idea作为sbt版本0.12,其中固定bug用于Idea。
当我在项目目录中键入sbt
时,我注意到它使用scala 2.9.2 ..但我将使用scala 2.10.1作为我的项目。
问题:
哪个scala版本用于插件(~/.sbt/plugins
) - 编译是否有意义,或者我应该使用一个/相同的scala版本?我可以更改插件的scala版本吗?
因此,我创建了包含上述内容的~/.sbt/plugin/build.sbt
文件。
答案 0 :(得分:2)
该版本已过期,它取决于sbt-idea 1.2.0-SNAPSHOT。撰写本文时的最新版本是1.3.0
有关使用最新版本的scala,scalatest和SBT到IDE项目插件的实现,请参阅我的项目skeleton。
答案 1 :(得分: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
文件,例如在我的情况下:
解析器+ =“Sonatype snapshots”at “http://oss.sonatype.org/content/repositories/snapshots/”
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.2.0-SNAPSHOT")
我应该注意,如果尝试不同的版本..就像1.1.0-M2-TYPESAFE它将无法工作..(至少在我的情况下) - gen-idea
命令不可用。我不知道为什么。我想它应该。
此外,如果你没有指出resolvers +=
- 它将不起作用..但它不会告诉你这个......
这个插件正在使用scala 2.9.2 - 我们在这里看不到它,但我们可以从安装/下载时产生的输出中看到它。这就是为什么我们有~/.sbt/boot/scala-2.9.2/
的结果。
在任何情况下我们都不应该关心它。它由sbt。
处理当您通过在sbt控制台中键入gen-idea
将sbt-project转换为intellij-idea项目时,结果您的IDE项目将引用~/.sbt/scala
,但不会引用您安装的某个位置 - scala ..所以即使不需要指向scala位置 - sbt-idea sbt的插件将完成所有工作。这很好!
这就是我想要的答案。一个人通过尝试得到/理解它。