java.lang.ClassFormatError:类文件末尾的额外字节

时间:2017-05-30 10:39:05

标签: scala sbt sbt-assembly

我使用jar生成sbt assembly但是当我尝试运行jar时,我收到以下错误。我使用的是scala 2.12.0sbt 0.13.8assembly 0.14.2。任何人都可以帮我解决这个错误的含义和解决方案吗?

Error: java.lang.ClassFormatError: Extra bytes at the end of class file

1 个答案:

答案 0 :(得分:1)

OP在评论中发布了一个可行的解决方案,但从未将其变为实际答案。由于我今天遇到了同样的问题并且他的评论解决了,我将在下面发布这个解决方案。

来自OP的

- 回答,最初发表在评论中 -

使用build.sbt中的以下行解决了

assemblyMergeStrategy in assembly := {
  case PathList("META-INF", xs @ _*) => MergeStrategy.discard
  case "reference.conf" => MergeStrategy.concat
  case x => MergeStrategy.first
}

我只想补充一点,在我的情况下,关键的加法是中间case "reference.conf",它必须触发concat合并策略。