sbt 库依赖顺序依赖吗?
Are sbt library dependencies order dependent?
根据经验,build.sbt 中声明的库依赖项的顺序似乎很重要。这是真的?如果是这样,值得在文档的 sbt library management 部分中简要提及。
是的,列出的顺序是用于解析依赖项的顺序。如果您只是附加到默认值,则这包括默认值。因此,您应该将不太可能的候选人放在更有可能的候选人之后。在下面的示例中,默认解析器被选中,然后是 Sonatype 快照,然后依赖项仅在 .m2
目录中的本地机器上可用:
resolvers ++= Seq(
Resolver.sonatypeRepo("snapshots"),
"Local .m2 Repository" at s"file:${ Path.userHome.absolutePath }/.m2/repository"
)
这些年来默认值已经发生了变化。为确保您控制解析器,另一种不依赖默认值的写法是:
resolvers = Seq(
allResolvers,
Resolver.sonatypeRepo("snapshots"),
"Local .m2 Repository" at s"file:${ Path.userHome.absolutePath }/.m2/repository"
)
根据经验,build.sbt 中声明的库依赖项的顺序似乎很重要。这是真的?如果是这样,值得在文档的 sbt library management 部分中简要提及。
是的,列出的顺序是用于解析依赖项的顺序。如果您只是附加到默认值,则这包括默认值。因此,您应该将不太可能的候选人放在更有可能的候选人之后。在下面的示例中,默认解析器被选中,然后是 Sonatype 快照,然后依赖项仅在 .m2
目录中的本地机器上可用:
resolvers ++= Seq(
Resolver.sonatypeRepo("snapshots"),
"Local .m2 Repository" at s"file:${ Path.userHome.absolutePath }/.m2/repository"
)
这些年来默认值已经发生了变化。为确保您控制解析器,另一种不依赖默认值的写法是:
resolvers = Seq(
allResolvers,
Resolver.sonatypeRepo("snapshots"),
"Local .m2 Repository" at s"file:${ Path.userHome.absolutePath }/.m2/repository"
)