Pertanyaan SBT tidak dapat menambahkan Seq [Object] ke Seq [ModuleID]


SBT terus gagal dengan kesalahan tambahan yang tidak tepat. Saya menggunakan format yang tepat untuk membangun file yang telah saya lihat berkali-kali.

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")

Saya tidak tahu mengapa SBT mengeluh

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)
                    ^

5
2018-03-27 22:40


asal


Jawaban:


Versi Pendek (TL; DR)

Ada kesalahan common: Anda ingin mengganti baris ini

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

dengan garis ini

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

Versi Panjang

  1. "org.scalanlp.breeze-natives" % Version.breeze adalah GroupArtifactID tidak a ModuleID.

  2. Ini menyebabkan common untuk menjadi Seq[Object] bukannya a Seq[ModuleID].

  3. Dan karena itu juga Dependencies.backend untuk menjadi Seq[Object]

  4. Yang akhirnya tidak bisa ditambahkan (via ++=) ke libraryDependencies (didefinisikan sebagai SettingKey[Seq[ModuleID]]) karena tidak tersedia Append.Values[Seq[sbt.ModuleID], Seq[Object]].


12
2018-03-27 23:28



Satu dari common atau metrics bukan sebuah Seq[sbt.ModuleID]. Anda bisa mengetahui yang mana dengan suatu tipe resep:

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

Uang saya sedang menyala common, baris ini tidak cukup %ada di dalamnya:

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

1
2018-03-27 22:56