아래 게시물에 설명 된대로 정확한 문제가 발생하며 제안 된 대답이 도움이되지 않습니다. sbt-assembly: deduplication found errorsbt 어셈블리를 실행하는 중 오류가 발생했습니다. 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에서 실행할 계획이라면 제공된 모든 Spark 의존성을 추가하는 것이 좋습니다." 어떻게 추가합니까? – Siva
@Siva 즉, Spark이 실행 중일 때 이러한 병은 작업을 배포 할 때 이미 사용할 수 있으므로 응용 프로그램과 함께 제공 할 필요가 없습니다. 내 업데이트 답변을 참조하십시오. – 4e6
그리고 위의 병합 전략을 추가하려고하면 다음과 같은 오류가 발생합니다. [오류] C : \ Users \ xxx \ .ivy2 \ cache \ com.esotericsoftware.kryo \ kryo \ bundles \ kryo-2.21.jar : co.kr/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