【问题标题】:How can I resolve dependencies when cross-compiling in Scala with sbt?在 Scala 中使用 sbt 进行交叉编译时如何解决依赖关系?
【发布时间】:2017-02-23 00:54:21
【问题描述】:

我想构建我的项目的 2.11 和 2.12 版本,所以我的 Build.scala 文件中有这样的内容:

val scalaVer12 = "2.12.1"
val scalaVer = "2.11.8"

lazy val basicSettings = Seq(
    // lots of other settings
    scalaVersion                := scalaVer
)

汤里的苍蝇是我依赖于 scala 反射,它基于 scala 版本。在我这样做之前:

val scala_reflect   = "org.scala-lang" % "scala-reflect" % Build.scalaVer

我如何修改这个依赖行,以便 sbt 根据它当前构建的版本使用 2.11 或 2.12 依赖?

【问题讨论】:

    标签: scala sbt


    【解决方案1】:
    lazy val bla = project in file("bla")
     .settings(
       libraryDependencies ++= Seq(
         "org.scala-lang" % "scala-reflect" % scalaVersion.value
       )
     )
    

    永远不要对依赖项进行这样的别名,有一个对象来存储版本号很干净,但不是更多,这只是一种味道,尤其是因为 deps 通常依赖于 Scala 版本,并且您可以对它们应用各种规则。

    【讨论】:

      猜你喜欢
      • 2013-09-17
      • 1970-01-01
      • 2014-12-18
      • 2017-06-13
      • 1970-01-01
      • 1970-01-01
      • 2014-01-12
      • 2016-02-13
      • 1970-01-01
      相关资源
      最近更新 更多