首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SBT允许在组装过程中复制

SBT允许在组装过程中复制
EN

Stack Overflow用户
提问于 2015-01-25 17:19:59
回答 1查看 1.5K关注 0票数 2

enter code here有没有办法关闭SBT的assembly插件中的重叠?

我一直在用老式的方式清除sbt assembly构建,使用sbt dependency-graph删除具有相同文件不同版本的jar文件。

  • 如果我只对策略使用last,那么在运行makeJar时,结果jar文件会出现一个重复的条目。
  • 如果我将丢弃用于策略,则生成的jar文件是微不足道的,其中没有任何内容。

但是,在我的例子中,这不是一个大问题:我只想完全避免重复,如果我有问题,稍后在运行时清理依赖冲突。这通常是像maven这样的工具的工作原理,我希望使用SBT来构建类似于这些工具构建的胖jars的jars。

EN

回答 1

Stack Overflow用户

发布于 2015-01-25 17:41:16

我想出了一个合理的合并策略,看起来像这样,取自client/blob/master/build.sbt

代码语言:javascript
复制
mergeStrategy in assembly := { 
  case n if n.startsWith("META-INF/eclipse.inf") => MergeStrategy.discard
  case n if n.startsWith("META-INF/ECLIPSEF.RSA") => MergeStrategy.discard
  case n if n.startsWith("META-INF/ECLIPSE_.RSA") => MergeStrategy.discard
  case n if n.startsWith("META-INF/ECLIPSEF.SF") => MergeStrategy.discard
  case n if n.startsWith("META-INF/ECLIPSE_.SF") => MergeStrategy.discard
  case n if n.startsWith("META-INF/MANIFEST.MF") => MergeStrategy.discard
  case n if n.startsWith("META-INF/NOTICE.txt") => MergeStrategy.discard
      case n if n.startsWith("META-INF/NOTICE") => MergeStrategy.discard
      case n if n.startsWith("META-INF/LICENSE.txt") =>     
 MergeStrategy.discard
      case n if n.startsWith("META-INF/LICENSE") => MergeStrategy.discard
      case n if n.startsWith("rootdoc.txt") => MergeStrategy.discard
      case n if n.startsWith("readme.html") => MergeStrategy.discard
      case n if n.startsWith("readme.txt") => MergeStrategy.discard
      case n if n.startsWith("library.properties") => MergeStrategy.discard
      case n if n.startsWith("license.html") => MergeStrategy.discard
      case n if n.startsWith("about.html") => MergeStrategy.discard
      case _ => MergeStrategy.deduplicate
    }

对最初问题的回答很简单,在使用sbt程序集时,您必须定义一个MergeStrategy,并且有许多模板(如这个)可以借用并粘贴到build.sbt文件中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28139176

复制
相关文章

相似问题

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