首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SBT -在copyResources中有忽略重复映射的方法吗?

SBT -在copyResources中有忽略重复映射的方法吗?
EN

Stack Overflow用户
提问于 2014-06-04 12:25:05
回答 1查看 1.4K关注 0票数 3

我正试图使用SBT和sbt程序集生成一个胖罐子。作为一项要求,我需要在jar中添加其他非托管资源(目录)。问题是,有两个目录上的文件具有相同的文件名和路径。因此,运行程序集会导致copyResources错误--重复映射错误。我想要的行为是,如果该文件已经存在,则丢弃另一个文件。有办法这样做吗?这个能行吗?

代码语言:javascript
复制
unmanagedResources in Compile ~= (_.distinct)

这是解决办法吗?有没有更好的解决办法?

EN

回答 1

Stack Overflow用户

发布于 2014-06-05 05:49:31

也许汇编语言插件的合并策略设置对你来说就足够了。试试这个:

代码语言:javascript
复制
mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) => {
  case PathList("path", "to", "file", xs @ _*) =>
    (xs map {_.toLowerCase}) match {
      case ("myduplicatefile" :: Nil) => MergeStrategy.first
      case _ => MergeStrategy.deduplicate
    }
  case x => old(x)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24037395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档