2013-04-01 146 views
0

我按照these步骤为IntelliJ想法配置一个项目。sbt版本和scala版本。 intellij想法与sbt-idea插件的项目配置

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

我用sbt-idea为SBT版本0.12,固定bug的理念。

当我在我的项目目录中输入sbt时,我注意到它使用了scala 2.9.2 ..但我将为我的项目使用scala 2.10.1。

问题:

是否有意义使用的插件(S)(~/.sbt/plugins)-compilation其中斯卡拉版本,或者我应该使用一个/同阶版本的一切?我可以更改插件的scala版本吗?

所以,我创建了~/.sbt/plugin/build.sbt文件与提到的内容。

回答

1

其实我明白了。

  1. 如果你有build.sbt(使用2.10.1斯卡拉)文件的项目 - 只要你键入sbt ..所有的依赖将被下载到文件夹~/.sbt - 甚至Scala编译器将在那里下载(~/.sbt/boot )。它甚至可以是几个版本的scala:例如2.10.1和2.9.2。

  2. 约SBT-想法和~/sbt/plugins ..它可以在任何阶版本 - 根据其build.sbt文件,例如在我的情况:

解析器+ = “Sonatype的快照” 在 “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项目到您的IntelliJ-想法项目由SBT控制台键入gen-idea,作为结果的IDE项目将引用到~/.sbt/scala而不是你的地方安装 - 斯卡拉..所以即使没有需要指向scala的位置 - 那个sbt的插件将会完成所有的工作。这很好!

这就是我想要得到的答案。通过尝试获得/理解它。

2

该版本已过期,它取决于sbt-idea 1.2.0-SNAPSHOT。在编写本文时的最新版本是1.3.0

请参阅我的项目skeleton了解使用最新版本的scala,scalatest和SBT到IDE项目插件的实现。

相关问题