覆盖SBT中的传递依赖性版本



我需要覆盖较晚版本的传递依赖性。

在Maven中,我可以通过简单地在顶部添加一个覆盖物来做到这一点。

  <dependencies>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.8.9</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.8.9</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.module</groupId>
      <artifactId>jackson-module-scala_2.11</artifactId>
      <version>2.8.9</version>
    </dependency>
    <dependency>
      <groupId>org.apache.spark</groupId>
      <artifactId>spark-core_${scala.version.dist}</artifactId>
      <version>${spark.version}</version>
    </dependency>
    <dependency>
    <dependency>
      <groupId>com.mypackage.road</groupId>
      <artifactId>package-that-contains-transitive-deps</artifactId>
      <version>4.2.0</version>
    </dependency>

我该如何在SBT中执行此操作?也像Maven(依赖关系键级选项卡(中可用的GUI一样,显示哪些罐子覆盖了其他罐子,我该如何在SBT中看到?

我已经试图强制使用依赖关系的版本。但是问题仍然存在。因此,我如何检查旧版本是否被我覆盖的版本完全驱逐出境。SBT依赖树并未表明较新的人已驱逐了及物依赖性。

您可以使用dependencyOverrides设置覆盖版本(请参阅链接答案(。

然后,您通常在update期间看到驱逐版本。但是,如果由于某种原因不这样做,则可以在SBT中运行show evicted来输出驱逐警告。示例输出:

...
[warn] Found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[warn]  * org.scalameta:inputs_2.12:2.1.2 is selected over 2.0.0-M3
[warn]      +- org.scalameta:scalameta_2.12:2.1.2                 (depends on 2.1.2)
[warn]      +- org.scalameta:quasiquotes_2.12:2.1.2               (depends on 2.1.2)
...
[warn] Run 'evicted' to see detailed eviction warnings
[info] Here are other depedency conflicts that were resolved:
[info]  * com.trueaccord.scalapb:scalapb-runtime_2.12:0.6.6 is selected over 0.6.2
[info]      +- org.scalameta:langmeta_2.12:2.1.2                  (depends on 0.6.2)
[info]      +- org.scalameta:metals_2.12:0.1-SNAPSHOT             (depends on 0.6.2)
[info]  * com.lihaoyi:sourcecode_2.12:0.1.4 is selected over 0.1.3
[info]      +- com.lihaoyi:fansi_2.12:0.2.5                       (depends on 0.1.4)
[info]      +- com.lihaoyi:fastparse-utils_2.12:0.4.4             
...

最新更新