重复数据删除:找到SBT和Scala的不同文件内容错误

时间:2017-02-18 03:42:46

标签: scala apache-spark sbt

我正在尝试通过SBT构建一个JAR文件,我的驱动程序脚本在Scala中。但是,当我开始组装时,我收到了很多:

print()

显示该邮件的整个目录列表太大,无法在此处发布,因此我附上了一个截图,您可以在下面查看。我的构建文件包含以下内容:

deduplicate: different file contents found in the following:

我试图将Onilton Maciel提供的解决方案this question,但无济于事。我也很困惑如何实施Martin Senne提供的解决方案,作为设置' Assembly插件的部分不清楚如何实现他的代码片段。任何帮助,将不胜感激。感谢![enter image description here

1 个答案:

答案 0 :(得分:0)

  

因为关于Assembly插件的“Setup”部分的设置说明不清楚如何实现他的代码片段。

这意味着您应在build.sbt根目录sbt文件中添加合并策略

sbt-assembly官方文档中有一个示例,并根据您的冲突进行更新:

import sbtassembly.MergeStrategy
assemblyMergeStrategy in assembly := {
  case PathList("org", "apache", "hadoop", "yarn", "factories", "package-info.class")         => MergeStrategy.discard
  case PathList("org", "apache", "hadoop", "yarn", "provider", "package-info.class")         => MergeStrategy.discard
  case PathList("org", "apache", "hadoop", "util", "provider", "package-info.class")         => MergeStrategy.discard
  case PathList("org", "apache", "spark", "unused", "UnusedStubClass.class")         => MergeStrategy.first
}

希望它对你有所帮助。