`dependencyOverrides`影响编译和运行时?

时间:2016-02-22 03:19:24

标签: sbt

sbt Library Management docs解释了如何通过dependencyOverrides覆盖特定的图书馆。

文档示例显示:

  

例如,以下依赖项定义发生冲突,因为spark使用log4j 1.2.16scalaxb使用log4j 1.2.17

添加dependencyOverrides += "log4j" % "log4j" % "1.2.16"时,是否会强制log4j的编译和运行时版本为1.2.16

在上面的示例中,如果spark使用1.2.16scalaxb使用1.2.17,那么使用上述dependencyOverrides的编译和运行时效果是什么?国旗?

1 个答案:

答案 0 :(得分:1)

没有两个编译时和运行时版本的依赖项。

如果传递依赖是on依赖(spark)的运行时,而另一个(scalaxb)的编译时则是编译时。

因此,dependencyOverrides会通过显式固定要使用的版本来覆盖该依赖项的自动版本冲突解决方案。