간단한 Scala 프로젝트를 빌드하기 위해 SBT (IntelliJ IDEA 내)를 사용하고 있습니다.
Uber JAR 파일 (일명 Fat JAR, Super JAR) 을 빌드하는 가장 간단한 방법 이 무엇인지 알고 싶습니다 .
현재 SBT를 사용하고 있지만 JAR 파일을 Apache Spark에 제출할 때 다음 오류가 발생합니다.
스레드 "main"java.lang.SecurityException의 예외 : Manifest 기본 속성에 대한 유효하지 않은 서명 파일 요약
또는 컴파일 시간 동안이 오류 :
java.lang.RuntimeException : 중복 제거 : 다음 위치에 다른 파일 내용이 있습니다.
PATH \ DEPENDENCY.jar : META-INF / DEPENDENCIES
PATH \ DEPENDENCY.jar : META-INF / MANIFEST.MF
그것은 처럼 보이는 내 일부 종속성이 최종 동네 짱의 JAR 파일에서 제거해야합니다 서명 파일 (META-INF)를 포함 때문입니다.
다음 과 같이 sbt-assembly 플러그인 을 사용하려고 했습니다.
/project/assembly.sbt
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.12.0")
/project/plugins.sbt
logLevel := Level.Warn
/build.sbt
lazy val commonSettings = Seq(
name := "Spark-Test"
version := "1.0"
scalaVersion := "2.11.4"
)
lazy val app = (project in file("app")).
settings(commonSettings: _*).
settings(
libraryDependencies ++= Seq(
"org.apache.spark" %% "spark-core" % "1.2.0",
"org.apache.spark" %% "spark-streaming" % "1.2.0",
"org.apache.spark" % "spark-streaming-twitter_2.10" % "1.2.0"
)
)
IntelliJ IDEA에서 " Build Artifact ... "를 클릭 하면 JAR 파일이 생성됩니다. 그러나 나는 같은 오류로 끝납니다 ...
저는 SBT를 처음 접했고 IntelliJ IDE를 많이 실험하지 않았습니다.
감사.
META-INF
파일 - 하나 개의 블로그 게시물을 그 힘의 도움을 : janschulte.wordpress.com/2014/03/20/...