我正在试图建立一个火花应用程序升级后,sbt-程序集0.13.8。这是我现在拥有的build.sbt的内容。但这不管用。这似乎是默认mergeStrategy的一个问题。我正在绕开600+去重复错误
name := "volumeApp"
version := "0.0.1"
scalaVersion := "2.10.4"
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-streaming-kafka" % "1.3.1",
"org.apache.spark" %% "spark-core" % "1.3.1",
"org.apache.spark" %% "spark-streaming" % "1.3.1",
"org.apache.kafka" %% "kafka" % "0.8.2.1",
"com.datastax.spark" %% "spark-cassandra-connector" % "1.3.0-M1",
"com.github.vonnagy" %% "service-container-metrics-reporting" % "1.0.1" exclude("com.codahale.metrics", "metrics-core"),
"joda-time" % "joda-time" % "2.7",
"log4j" % "log4j" % "1.2.14"
)
assemblyJarName in assembly := "inventoryVolume.jar"
assemblyMergeStrategy in assembly := {
case PathList("META-INF", "jboss-beans.xml") => MergeStrategy.first
case PathList("META-INF", "mailcap") => MergeStrategy.discard
case PathList("META-INF", "maven", "org.slf4j", "slf4j-api", xa @ _*) => MergeStrategy.rename
case PathList("META-INF", "ECLIPSEF.RSA") => MergeStrategy.discard
case PathList("META-INF", "mimetypes.default") => MergeStrategy.first
case PathList("com", "datastax", "driver", "core", "Driver.properties") => MergeStrategy.last
case PathList("com", "esotericsoftware", "minlog", xx @ _*) => MergeStrategy.first
case PathList("plugin.properties") => MergeStrategy.discard
case PathList("javax", "activation", xw @ _*) => MergeStrategy.first
case PathList("org", "apache", "hadoop", "yarn", xv @ _*) => MergeStrategy.first
case PathList("org", "apache", "commons", xz @ _*) => MergeStrategy.first
case PathList("org", "jboss", "netty", ya @ _*) => MergeStrategy.first
case x =>
val baseStrategy = (assemblyMergeStrategy in assembly).value
baseStrategy(x)
}我已经把错误附加在这里了,http://pastebin.com/T6HRJ6Kv,有人能帮我吗..我对构建工具是完全陌生的。我试着阅读sbt指南,但没过多久就迷路了。
发布于 2015-07-04 23:43:25
看起来,您正在尝试构建一个程序集jar,其中包括akka参与者系统的多个版本。有几种可能的解决方案,一种是将它从依赖项中排除出来(有关想法请参阅http://www.scala-sbt.org/0.13/docs/Library-Management.html )或更改合并策略,但我建议采用排除依赖关系的方法。
https://stackoverflow.com/questions/31221857
复制相似问题