Wie erstelle ich eine Uber JAR (Fat JAR) mit SBT in IntelliJ IDEA?
Ich verwende SBT (innerhalb von IntelliJ IDEA), um ein einfaches Scala-Projekt zu erstellen.
Ich würde gerne wissen, was das @ ieinfachster Weg um ein @ zu bauUber JAR Datei (aka Fat JAR, Super JAR).
Ich verwende momentan SBT, aber wenn ich meine JAR-Datei an @ senApache Spark Ich erhalte den folgenden Fehler:
Exception in Thread "main" java.lang.SecurityException: Ungültiger Signaturdatei-Digest für Manifest-Hauptattribute
Oder dieser Fehler während der Kompilierung:
java.lang.RuntimeException: deduplicate: Unterschiedliche Dateiinhalte im Folgenden:
PATH \ DEPENDENCY.jar: META-INF / DEPENDENCIES
PATH \ DEPENDENCY.jar: META-INF / MANIFEST.MF
Itsieht aus wi Es liegt daran, dass einige meiner Abhängigkeiten Signaturdateien (META-INF) enthalten, die in der endgültigen Uber JAR-Datei entfernt werden müssen.
Ich habe versucht, das @ zu verwend sbt-assembly Plugin so:
/ 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"
)
)
Wenn ich auf "Build Artifact ... "in IntelliJ IDEA bekomme ich eine JAR-Datei. Am Ende tritt jedoch derselbe Fehler auf ...
Ich bin neu bei SBT und habe nicht viel Erfahrung mit IntelliJ IDE.
Vielen Dank