sbt-assembly:重命名具有合并冲突的类(阴影)

时间:2014-07-06 14:34:46

标签: sbt sbt-assembly

如何判断sbt-assembly保留现有的合并/重复数据删除规则,除非两个.class文件混淆,重命名(并发出警告以便我知道)?

这是否与Maven中使用的阴影策略相同?

1 个答案:

答案 0 :(得分:3)

rename策略只是重命名文件并且不会更改内容,因此它不适用于.class文件。重命名的主要用例是LICENSE文件。

2015年9月更新

sbt-assembly 0.14.0增加了shading支持。

  

sbt-assembly可以为您的项目或库依赖项中的类着色。由Jar Jar Links支持,字节码转换(通过ASM)用于更改对重命名类的引用。

assemblyShadeRules in assembly := Seq(
  ShadeRule.rename("org.apache.commons.io.**" -> "shadeio.@1").inAll
)