sbt库依赖项依赖于顺序吗?

Tra*_*ler 8 sbt

根据经验,build.sbt中声明的库依赖项的顺序似乎很重要.这是真的?如果是这样,在文档的sbt库管理部分中值得一提.

Mik*_*inn 2

是的,列出的顺序是用于解决依赖关系的顺序。如果您仅附加到默认值,则这包括默认值。因此,您应该将不太可能的候选人放在更有可能的候选人之后。在以下示例中,先检查默认解析器,然后检查 Sonatype 快照,然后检查仅在本地计算机上的.m2目录中可用的依赖项:

resolvers ++= Seq(
  Resolver.sonatypeRepo("snapshots"),
  "Local .m2 Repository" at s"file:${ Path.userHome.absolutePath }/.m2/repository"
)
Run Code Online (Sandbox Code Playgroud)

多年来,默认值已经发生了变化。为了确保您控制解析器,另一种不依赖默认值的编写方法是:

resolvers = Seq(
  allResolvers,
  Resolver.sonatypeRepo("snapshots"),
  "Local .m2 Repository" at s"file:${ Path.userHome.absolutePath }/.m2/repository"
)
Run Code Online (Sandbox Code Playgroud)