SBT 程序集:对找到的不同文件内容进行重复数据删除



当我运行这个sbt json-config clean assembly时,我对 sbt 有问题我收到这些错误:

[error] (myapp-api/*:assembly) deduplicate: different file contents found in the following:
[error] /home/teaddict/.ivy2/cache/cglib/cglib-nodep/jars/cglib-nodep-2.1_3.jar:asm-license.txt
[error] /home/teaddict/.ivy2/cache/org.mockito/mockito-all/jars/mockito-all-1.10.19.jar:asm-license.txt

我像那样更改了Build.scala并尝试了所有选项,但仍然遇到相同的错误。

assemblyMergeStrategy in assembly <<= (assemblyMergeStrategy in assembly) { (old) =>
  {
    case PathList("net", "sf", "cglib", _ @ _*) => MergeStrategy.discard
    case PathList(ps @ _*) if ps.last.toLowerCase == "asm-license.txt" => MergeStrategy.discard
    case PathList("asm-license.txt") => MergeStrategy.rename
    case PathList("asm-license.txt") => MergeStrategy.discard
    case PathList(ps@_*) if ps.last == "asm-license.txt" => MergeStrategy.discard
    case "asm-license.txt" => MergeStrategy.discard
    case x => old(x)
  }
},

解决方案是:

assemblyMergeStrategy in assembly := {
  case PathList("net", "sf", "cglib", ps @ _*) => MergeStrategy.discard
  case "asm-license.txt" => MergeStrategy.discard
  case x =>
    val old = (assemblyMergeStrategy in assembly).value
    old(x)
}

最新更新