gpt4 book ai didi

scala - SBT:修复库依赖项的逐出警告是否明智

转载 作者:行者123 更新时间:2023-12-02 02:00:27 24 4
gpt4 key购买 nike

修复 SBT 驱逐警告消息是个好主意吗?

通过将被逐出的库的版本覆盖为最新版本。这会迫使 SBT 终生坚持使用被覆盖的版本吗?以后有更新的版本SBT还会通知我们吗?

驱逐警告示例 (SBT 0.13.13)

[warn] There may be incompatibilities among your library dependencies.
[warn] Here are some of the libraries that were evicted:
[warn] * com.chuusai:shapeless_2.11:1.2.4 -> 2.3.2
[warn] * org.postgresql:postgresql:9.4-1201-jdbc41 -> 9.4.1208.jre7
[warn] * jline:jline:0.9.94 -> 2.12.1
[warn] Run 'evicted' to see detailed eviction warnings

通过在 build.sbt 末尾添加此内容来删除警告。按照 SBT 文档 Eviction warning 中的说明进行操作

dependencyOverrides ++= Set(
"org.postgresql" % "postgresql" % "9.4.1208.jre7",
"com.chuusai" %% "shapeless" % "2.3.2",
"jline" % "jline" % "2.12.1"
)

最佳答案

如果这些警告针对的是您直接在代码中使用的依赖项,那么您绝对应该将升级版本添加到您的 libraryDependencies 中。

对于被逐出的传递依赖项(这些依赖项仅由您自己的依赖项直接使用),最好将警告保留在适当的位置。这为您提供了有关依赖项中可能存在的不兼容性的文档,并可以帮助您调试由于此类不兼容性而出现的运行时问题。

请记住,设置 dependencyOverrides 只是隐藏警告,它不能保证您的库与您设置的版本之间的兼容性。

关于scala - SBT:修复库依赖项的逐出警告是否明智,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42520273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com