Ich habe folgendes Projekt zu bauen:Wie funktionieren "transitive Resolver" mit SBT?
import sbt._
import Keys._
object ProjectBuild extends Build {
val buildVersion = "0.1-SNAPSHOT"
val delvingReleases = "Delving Releases Repository" at "http://development.delving.org:8081/nexus/content/repositories/releases"
val delvingSnapshots = "Delving Snapshot Repository" at "http://development.delving.org:8081/nexus/content/repositories/snapshots"
val delvingRepository = if (buildVersion.endsWith("SNAPSHOT")) delvingSnapshots else delvingReleases
lazy val root = Project(
id = "basex-scala-client",
base = file(".")
).settings(
organization := "eu.delving",
version := buildVersion,
resolvers += "BaseX Repository" at "http://files.basex.org/maven",
libraryDependencies += "org.basex" % "basex" % "7.2.1",
libraryDependencies += "org.specs2" %% "specs2" % "1.7.1" % "test",
publishTo := Some(delvingRepository),
credentials += Credentials(Path.userHome/".ivy2"/".credentials"),
publishMavenStyle := true
)
}
Wenn ich die resultierende Bibliothek in einem anderen Projekt enthalten, etwa so:
"eu.delving" %% "basex-scala-client" % "0.1-SNAPSHOT"
und ich versuche, das Projekt zu erstellen, bekomme ich einen Fehler mich auffordert dass die Bibliothek "org.basex% basex% 7.2.1", auf die von diesem Projekt verwiesen wird, nicht gefunden werden kann.
Ich muss gehen und den Resolver im "Client" -Projekt hinzufügen, damit die Bibliothek gefunden wird. Gibt es eine Möglichkeit, dies zu vermeiden?
Nur sicherstellen, dass ich richtig verstehe: Wenn ich eine Bibliothek verwende, die Abhängigkeiten in einem anderen Resolver hat, muss ich die Resolver Upstream von Hand hinzufügen - ist das? –