Я столкнулся с точной проблемой, как описано в следующем сообщении, и предлагаемый ответ не помогает. sbt-assembly: deduplication found errorошибка во время работы сборка sbt: ошибка деблокирования sbt
[error] (*:assembly) deduplicate: different file contents found in the following:
[error] C:\Users\xxx\.ivy2\cache\org.eclipse.jetty.orbit\javax.transaction\orbits\javax.transaction-1.1.1.v201105210645.jar:META-INF/ECLIPSEF.RSA
[error] C:\Users\xxx\.ivy2\cache\org.eclipse.jetty.orbit\javax.servlet\orbits\javax.servlet-3.0.0.v201112011016.jar:META-INF/ECLIPSEF.RSA
[error] C:\Users\xxx\.ivy2\cache\org.eclipse.jetty.orbit\javax.mail.glassfish\orbits\javax.mail.glassfish-1.4.1.v201005082020.jar:META-INF/ECLIPSEF.RSA
[error] C:\Users\xxx\.ivy2\cache\org.eclipse.jetty.orbit\javax.activation\orbits\javax.activation-1.1.0.v201105071233.jar:META-INF/ECLIPSEF.RSA
[error] Total time: 14 s, completed Sep 9, 2014 5:21:01 PM
мой файл build.sbt содержит
name := "Simple"
version := "0.1.0"
scalaVersion := "2.10.4"
libraryDependencies ++= Seq(
"org.twitter4j" % "twitter4j-stream" % "3.0.3"
)
//libraryDependencies += "org.apache.spark" %% "spark-core" % "1.0.2"
libraryDependencies += "org.apache.spark" %% "spark-streaming" % "1.0.2"
libraryDependencies += "org.apache.spark" %% "spark-streaming-twitter" % "1.0.2"
libraryDependencies += "com.github.nscala-time" %% "nscala-time" % "0.4.2"
libraryDependencies ++= Seq(
("org.apache.spark"%%"spark-core"%"1.0.2").
exclude("org.eclipse.jetty.orbit", "javax.servlet").
exclude("org.eclipse.jetty.orbit", "javax.transaction").
exclude("org.eclipse.jetty.orbit", "javax.mail").
exclude("org.eclipse.jetty.orbit", "javax.activation").
exclude("commons-beanutils", "commons-beanutils-core").
exclude("commons-collections", "commons-collections").
exclude("commons-collections", "commons-collections").
exclude("com.esotericsoftware.minlog", "minlog")
)
resolvers += "Akka Repository" at "http://repo.akka.io/releases/"
mergeStrategy in assembly <<= (mergeStrategy in assembly) { (old) =>
{
case PathList("javax", "servlet", xs @ _*) => MergeStrategy.first
case PathList("javax", "transaction", xs @ _*) => MergeStrategy.first
case PathList("javax", "mail", xs @ _*) => MergeStrategy.first
case PathList("javax", "activation", xs @ _*) => MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith ".html" => MergeStrategy.first
case "application.conf" => MergeStrategy.concat
case "unwanted.txt" => MergeStrategy.discard
case x => old(x)
}
}
Любые указатели о том, как исправить вышеуказанную проблему?
могли бы вы подробнее остановиться на этом «Если вы собираетесь запустить программу из искры, то я настоятельно рекомендую, чтобы добавить все зависимости Spark, как это предусмотрено.» Как добавить их? – Siva
@Siva Это означает, что в случае запуска Spark эти банки уже доступны при развертывании вашей работы, и нет необходимости отправлять их с помощью приложения. См. Мой обновленный ответ. – 4e6
И когда я попытался добавить вышеупомянутую стратегию слияния, это привело к еще одной ошибке, [ошибка] C: \ Users \ xxx \ .ivy2 \ cache \ com.esotericsoftware.kryo \ kryo \ bundles \ kryo-2.21.jar: com/esotericsoftware/minlog/Log $ Logger.class ошибка] C: \ Users \ xxx \ .ivy2 \ cache \ com.esotericsoftware.minlog \ minlog \ jars \ minlog-1.2.jar: com/esotericsoftware/minlog/Log $ Logger.class – Siva