0

我按照这些步骤为 IntelliJ idea 配置项目。

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

我将sbt-idea用于 sbt 版本 0.12,并修复Idea 的错误。

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

问题:

将哪个 scala 版本用于插件(~/.sbt/plugins)-编译是否有意义,或者我应该对所有内容使用一个/相同的 scala 版本?我可以更改插件的 scala 版本吗?

因此,我创建了~/.sbt/plugin/build.sbt包含上述内容的文件。

4

2 回答 2

2

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

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

于 2013-04-04T16:13:48.367 回答
1

其实我明白了。

  1. 如果您有一个带有build.sbt(使用 2.10.1 scala)文件的项目 - 只要您键入sbt.. 所有依赖项都将下载到~/.sbt文件夹中 - 甚至 scala 编译器也会下载到那里(~/.sbt/boot)。它甚至可以是 scala 的多个版本:例如 2.10.1 和 2.9.2。

  2. 关于 sbt-idea 和~/sbt/plugins.. 它可以是任何 scala 版本 - 取决于它的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 控制台将 sbt-project 转换为 intellij-idea 项目gen-idea时,结果您的 IDE 项目将引用~/.sbt/scala而不是您的某个地方安装的 scala .. 所以甚至不需要指向 scala 位置 - sbt-idea sbt的插件将完成所有工作。这很好!

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

于 2013-04-01T22:59:04.323 回答