我正在构建一个工具,我将使用addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6")
在Uber jar中部署
合并策略让我很困惑。 (see https://github.com/sbt/sbt-assembly)。编译器不是指定要保留哪个版本的重复依赖项(或指示保留最新版本),而是根据CP中的位置选择要保留或丢弃的依赖项。
根据以往的经验,这似乎引发了一些问题。如何指定我想保留的Jackson或Slf4j的哪个版本?
如果您只想选择一个版本,请使用dependencyOverrides
。您还可以通过show evicted
命令检查版本冲突。有关相关答案,请参阅here。