sbt Library Management docs解释了如何通过dependencyOverrides
覆盖特定的图书馆。
文档示例显示:
例如,以下依赖项定义发生冲突,因为
spark
使用log4j 1.2.16
而scalaxb
使用log4j 1.2.17
:
添加dependencyOverrides += "log4j" % "log4j" % "1.2.16"
时,是否会强制log4j
的编译和运行时版本为1.2.16
?
在上面的示例中,如果spark
使用1.2.16
而scalaxb
使用1.2.17
,那么使用上述dependencyOverrides
的编译和运行时效果是什么?国旗?
答案 0 :(得分:1)
没有两个编译时和运行时版本的依赖项。
如果传递依赖是on依赖(spark
)的运行时,而另一个(scalaxb
)的编译时则是编译时。
因此,dependencyOverrides
会通过显式固定要使用的版本来覆盖该依赖项的自动版本冲突解决方案。