在我的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
文件。
答案 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
)