如何在Scala中使用多个版本的库?

rg4*_*g41 6 scala sbt

我在Scala中使用一个库说A,它依赖于另一个库的版本x.11说Z.

现在,我也在使用一个库B,它依赖于Z的版本x.31.

这会导致编译错误,因为我们将有两个版本的库Z,如何在scala的sbt中使用库A和B?有没有办法指定它.

小智 -1

在 sbt 中,库之间的冲突是使用冲突管理器配置的。默认情况下,选择最新版本,但也可以在 .sbt 文件中覆盖它:

conflictManager := ConflictManager.strict
Run Code Online (Sandbox Code Playgroud)

如果您使用 sbt 0.13.6 或更高版本,当依赖项之间存在不兼容的二进制版本时,您将会收到警告。在这种情况下,您可以在 sbt 文件中为特定库配置覆盖:

dependencyOverrides += "org.raman" % "Z" % "x.11"
Run Code Online (Sandbox Code Playgroud)

Z这将强制to的已解析版本x.11,但不会引入直接依赖项。