【问题标题】:SBT cannot append Seq[Object] to Seq[ModuleID]SBT 不能将 Seq[Object] 附加到 Seq[ModuleID]
【发布时间】:2015-06-01 09:50:47
【问题描述】:

SBT 因不正确的附加错误而不断失败。我使用的是我见过无数次的构建文件的确切格式。

build.sbt:

lazy val backend = (project in file("backend")).settings(
name := "backend",
libraryDependencies ++= (Dependencies.backend)
).dependsOn(api).aggregate(api)

dependencies.scala:

import sbt._

object Dependencies {

lazy val backend = common ++ metrics

val common = Seq(
"com.typesafe.akka" %% "akka-actor" % Version.akka,
"com.typesafe.akka" %% "akka-cluster" % Version.akka,
"org.scalanlp.breeze" %% "breeze" % Version.breeze,
"com.typesafe.akka" %% "akka-contrib" % Version.akka,
"org.scalanlp.breeze-natives" % Version.breeze,
"com.google.guava" % "guava" % "17.0"
)

val metrics = Seq("org.fusesource" % "sigar" % "1.6.4")

我不太明白为什么 SBT 会抱怨

error: No implicit for Append.Values[Seq[sbt.ModuleID], Seq[Object]] found,
so Seq[Object] cannot be appended to Seq[sbt.ModuleID]
libraryDependencies ++= (Dependencies.backend)
                    ^

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    短版 (TL;DR)

    common 有错误:你想替换这一行

    "org.scalanlp.breeze-natives" % Version.breeze,
    

    用这条线

    "org.scalanlp" %% "breeze-natives" % Version.beeze,
    

    加长版

    1. "org.scalanlp.breeze-natives" % Version.breezeGroupArtifactID 而不是 ModuleID

    2. 这会导致 common 变为 Seq[Object] 而不是 Seq[ModuleID]

    3. 因此Dependencies.backend 也成为Seq[Object]

    4. 由于没有可用的Append.Values[Seq[sbt.ModuleID], Seq[Object]],最终无法将其附加(通过++=)到libraryDependencies(定义为SettingKey[Seq[ModuleID]])。

    【讨论】:

      【解决方案2】:

      commonmetrics 之一不是 Seq[sbt.ModuleID]。您可以通过类型说明找出哪个:

      val common: Seq[sbt.ModuleID] = ...
      val metrics: Seq[sbt.ModuleID] = ...
      

      我的钱在common,这行没有足够的%s:

      "org.scalanlp.breeze-natives" % Version.breeze
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-07
        相关资源
        最近更新 更多