Из build.sbt я вижу, что в вашей сборке нет стратегии слияния. Кроме того, в вашем ключе libraryDependencies есть Rogue "," , помещенный после зависимости "org.apache.cassandra"% "cassandra-all"% "3.4" в вашем build.sbt в проекте, на который вы поделились ссылкой выше.
Стратегия слияния требуется для обработки всех дубликатов файлов и в банке, а также версий. Следующий пример является примером того, как его получить в вашей сборке.
assemblyMergeStrategy in assembly := {
case m if m.toLowerCase.endsWith("manifest.mf") => MergeStrategy.discard
case m if m.toLowerCase.matches("meta-inf.*\\.sf$") => MergeStrategy.discard
case "reference.conf" => MergeStrategy.concat
case x: String if x.contains("UnusedStubClass.class") => MergeStrategy.first
case _ => MergeStrategy.first
}
Вы можете попробовать написать простой файл сборки, если в вашем проекте нет подпроектов. Вы можете попробовать следующий build.sbt.
name := "assembly-test",
version := "0.1",
scalaVersion := "2.12.4",
libraryDependencies ++= Seq(
"com.netflix.astyanax" % "astyanax-cassandra" % "3.9.0",
"org.apache.cassandra" % "cassandra-all" % "3.4"
)
mainClass in assembly := Some("com.atais.cassandra.MainClass")
assemblyMergeStrategy in assembly := {
case m if m.toLowerCase.endsWith("manifest.mf") => MergeStrategy.discard
case m if m.toLowerCase.matches("meta-inf.*\\.sf$") => MergeStrategy.discard
case "reference.conf" => MergeStrategy.concat
case x: String if x.contains("UnusedStubClass.class") => MergeStrategy.first
case _ => MergeStrategy.first
}