如何使用 SBT 排除特定的软件包版本

How Do I Exclude a Particular Package Version with SBT

现在,在我的 build.sbt 中,我有一个 libraryDependencies 类似

"some.package" %% "package-name" % "[1.4.2, 1.5["

作为其元素之一。

现在假设版本 1.4.6 引入了一些已在 1.4.7 中修复的错误。我如何重写我的依赖字符串以包括从 1.4.2 到(不包括)1.5 的所有版本,除了版本 1.4.6?

没有尝试,但 Ivy 的 version matchers 可能会有帮助。

您可以指定Ivy configuration with matcher:

 externalIvySettings()

 externalIvyFile(Def.setting(baseDirectory.value / "Ivy.xml"))

Settings.xml

<pattern-vm>
  <match revision="foo" pattern="..." matcher="..." />
</pattern-vm>

Ivy.xml

<dependency org="acme" name="tool" rev="foo()" />