在我的项目中,我想使用 GitHub 中的一些代码。 Build.scala 中的依赖定义如下:

object BuildSettings {
  val buildVersion      = "1.0-SNAPSHOT"
  val buildScalaVersion = "2.9.1"
  val buildName = "PageAnalyzer"

  val buildSettings = Defaults.defaultSettings ++ Seq (
    organization := buildOrganization,
    version      := buildVersion,
    scalaVersion := buildScalaVersion,
    name         := buildName
  )
}

object PageAnalyzerBuild extends Build {
  lazy val root = Project (
     "root",
     file ("."),
     settings = BuildSettings.buildSettings
  ) dependsOn (depProject)

  val depProject = RootProject(uri("git://github.com/me/some.git"))
}

由于某些原因,我必须使用 Scala 2.9.x 构建根项目。在 SBT 0.13 中,depProject 将使用 2.10.x 构建,并且无法构建依赖项。 root 项目试图寻找一些 some_2.9.1 ,但只构建了 some_2.10

scalaVersion 更改为 2.10.x 工作正常。但我必须用 2.9.x 构建根项目。有没有办法为从 git 克隆的 scalaVersion 定义 depProject

最佳答案

您应该可以使用 scalaVersion in [project-id] := "2.9.0" ,其中 project-id 是来自 depProject 的项目标识符,或者只将 depProject 用于 in 。运行 projects 以了解可用项目的名称并为 in 选择合适的项目。

它看起来类似于 Setting javac options for SBT dependencies

关于scala - SBT中git下为RootProject定义scalaVersion设置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21597960/

10-16 16:13