如何在scala-2.10项目中使用sbt-idea?

时间:2012-12-12 18:06:24

标签: scala sbt sbt-idea

在我的Scala 2.10项目中使sbt-idea工作时遇到了很多麻烦。

我尝试从git repo编译sbt-idea,确保设置

scalaVersion := "2.10.0-RC5"

build/Build.scala中,并使用publish-local命令在git中编译它。但我仍然继续

[error] sbt.IncompatiblePluginsException: Binary incompatibility in plugins detected.

当我在我发布的版本中使用它时,只需添加

即可
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.3.0-SNAPSHOT")

project/plugins.sbt文件。

2 个答案:

答案 0 :(得分:7)

不要认为你需要为Scala 2.10构建SBT。我将我的创意和eclipse项目生成器保存在全局build.sbt文件中,它适用于我的所有项目(或者看起来如此; - )

我正在使用Ubuntu,因此SBT配置文件保存在您的计算机上可能会有所不同。

在隐藏的sbt目录下创建一个名为plugins的文件夹。在Linux上,它位于~/.sbt(其中,代字号是您的主目录的别名)。所以现在你应该有~/.sbt/plugins

然后在此目录下创建一个名为build.sbt的文件,并将以下内容添加到其中:

resolvers += "Sonatype snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"

resolvers += "Sonatype releases"  at "https://oss.sonatype.org/content/repositories/releases/"

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.1.0")

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

为了测试,我刚用它生成了一个scala 2.10项目,看起来很好。

哦,如果你想生成Scala-IDE项目,上面的文件还增加了对SBT中eclipse命令的支持。

答案 1 :(得分:3)

我可以通过在项目本身的gen-idea中添加以下内容来使用旧版project/plugins.sbt

import sbt._

import Defaults._

libraryDependencies += sbtPluginExtra(
    m = "com.github.mpeltonen" % "sbt-idea" % "1.2.0", // Plugin module name and version
    sbtV = "0.12",    // SBT version
    scalaV = "2.9.2"    // Scala version compiled the plugin
)