如何在scala-ide中正确导入SBT Build.scala

时间:2016-08-31 09:22:45

标签: scala sbt scala-ide

由于sbt构建可以用scala编写,并且本身就是一个scala项目,我想将它作为scala项目在scala-ide中导入。例如,使用以下代码。

Build.scala

import sbt._
import Keys._

object TestBuild extends Build {
  lazy val root = Project(id = "test",
    base = file("."),
    settings = Seq(
      organization := "com.tomahna",
      name := "demo",
      scalaVersion := "2.11.8"))
}

plugins.sbt

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

这个构建与sbt一起工作正常,但是Build.scala不是由eclipse编译的,因此我既没有编译错误也没有自动完成。

我可以将项目文件夹添加到源文件夹,但import sbt._import Keys._将失败,因为未正确设置eclipse项目以提供这些依赖项。

有没有办法设置sbt项目,以便与scala-IDE很好地交互?

1 个答案:

答案 0 :(得分:1)

来自sbteclipse手册:link

如果您想获得Eclipse对sbt构建定义的支持,例如对于Build.scala文件,请按照下列步骤操作:

如果您不使用sbteclipse作为全局插件,这是推荐的方式,但作为项目的本地插件,首先必须将sbteclipse作为插件添加(addSbtPlugin(...))到构建定义项目,即项目/项目/ plugins.sbt

在sbt会话中,执行reload plugins

将构建定义项目的名称设置为有意义的名称:set name:=" sbt-build"

执行eclipse,然后重新加载return

将构建定义项目导入Eclipse并将根目录添加到构建路径