J'utilise SBT (dans IntelliJ IDEA) pour créer un projet Scala simple.
Je voudrais savoir quel est le moyen le plus simple de créer un fichier Uber JAR (aka Fat JAR, Super JAR).
J'utilise actuellement SBT mais lorsque je soumets mon fichier JAR à Apache Spark, j'obtiens l'erreur suivante:
Exception dans le thread "main" java.lang.SecurityException: résumé du fichier de signature non valide pour les attributs principaux du manifeste
Ou cette erreur lors de la compilation:
java.lang.RuntimeException: dédupliquer: contenu de fichier différent trouvé dans ce qui suit:
PATH \ DEPENDENCY.jar: META-INF / DEPENDENCIES
PATH \ DEPENDENCY.jar: META-INF / MANIFEST.MF
On dirait que c'est parce que certaines de mes dépendances incluent des fichiers de signature (META-INF) qui doivent être supprimés dans le fichier JAR Uber final.
J'ai essayé d'utiliser le plugin sbt-assembly comme ça:
/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"
)
)
Lorsque je clique sur " Construire un artefact ... " dans IntelliJ IDEA, j'obtiens un fichier JAR. Mais je me retrouve avec la même erreur ...
Je suis nouveau sur SBT et pas très expérimenté avec IntelliJ IDE.
Merci.
META-INF
fichiers - un article de blog qui pourrait vous aider: janschulte.wordpress.com/2014/03/20/…