【问题标题】:How to correctly import SBT Build.scala in scala-ide如何在 scala-ide 中正确导入 SBT Build.scala
【发布时间】:2017-01-07 19:24:55
【问题描述】:

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

构建.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 很好地交互?

【问题讨论】:

  • 我在一些旧的 scala 项目中使用了Build.scala,一切正常。你能提供一些代码吗?
  • 当然,我的问题还不够清楚。现在应该好多了。

标签: scala sbt scala-ide


【解决方案1】:

来自 sbteclipse 手册:link

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

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

在 sbt 会话中,执行 reload plugins

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

执行eclipse然后reload返回

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

【讨论】:

  • 下次我只会阅读文档直到最后。非常感谢。
猜你喜欢
  • 2015-01-23
  • 1970-01-01
  • 2014-11-26
  • 2017-10-04
  • 2014-12-11
  • 1970-01-01
  • 2012-07-05
  • 1970-01-01
  • 2016-05-24
相关资源
最近更新 更多