我正在尝试通过SBT构建一个JAR文件,我的驱动程序脚本在Scala中。但是,当我开始组装时,我收到了很多:
print()
显示该邮件的整个目录列表太大,无法在此处发布,因此我附上了一个截图,您可以在下面查看。我的构建文件包含以下内容:
deduplicate: different file contents found in the following:
我试图将Onilton Maciel提供的解决方案this question,但无济于事。我也很困惑如何实施Martin Senne提供的解决方案,作为设置' Assembly插件的部分不清楚如何实现他的代码片段。任何帮助,将不胜感激。感谢
答案 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
}
希望它对你有所帮助。