我需要将传递依赖项覆盖到相同的更高版本。
在 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 (Dependency-Hierarchy 选项卡) 中可用的 GUI,它显示了哪些 jar 覆盖了其他的,我如何在 sbt 中看到它?
我已经尝试使用dependencyOverrides 强制我想要的版本。但问题仍然存在。那么我如何检查旧版本是否被我覆盖的版本完全驱逐。sbt dependencyTree 没有显示较新的依赖关系已经驱逐了传递依赖。