6

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

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

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文件。

4

2 回答 2

7

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

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

plugins在隐藏的 sbt 目录下创建一个名为的文件夹。在 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 项目,看起来还不错。

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

于 2012-12-12T18:51:51.190 回答
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
)
于 2012-12-12T18:08:32.683 回答