“怎么做?”;可传递解析器“;与SBT合作?
我有以下项目构建:“怎么做?”;可传递解析器“;与SBT合作?,sbt,ivy,Sbt,Ivy,我有以下项目构建: 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 d
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
)
}
当我将结果库包括在另一个项目中时,如下所示:
"eu.delving" %% "basex-scala-client" % "0.1-SNAPSHOT"
当我尝试构建该项目时,我得到一个错误提示,无法找到该项目引用的“org.basex%basex%7.2.1”库
为了找到库,我必须在“客户端”项目中添加解析器。有没有办法避免这种情况 没有可传递的解析器,因此构建用户需要知道所有可传递库依赖项的所有解析器。这种方法的好处是,在开源项目上,它鼓励项目发布到连接到已知解析器的已知存储库之一 对于企业使用,您可以防止流量流向图中某些依赖项引入的未知位置
要在组织内共享冲突解决程序设置,您可以创建组织范围内的插件。在过去7年10个月内,这种情况是否发生了变化?我在自定义存储库中有一个可传递的库依赖项。对于它的直接客户机,我指定了一个解析器,并且在发布时将存储库写入客户机的pom文件。客户端的客户端似乎没有使用该信息来查找可传递的库。我必须“手动向上游添加冲突解决程序”。只是确保我理解正确:当我使用在另一个冲突解决程序中具有依赖项的库时,我需要手动向上游添加冲突解决程序-是这样吗?