Ich habe Funke-Anwendung ausgeführt und möchte die Testklassen in den Fettbehälter packen. Was komisch ist, habe ich "sbt assembly" erfolgreich ausgeführt, aber gescheitert, als ich "sbt test: assembly" ausgeführt habe.spark + sbt-assembly: "deduplizieren: verschiedene Dateiinhalte gefunden im Folgenden"
Ich versuchte sbt-assembly : including test classes, es hat nicht für meinen Fall funktioniert.
SBT Version: 0.13.8
build.sbt:
import sbtassembly.AssemblyPlugin._
name := "assembly-test"
version := "1.0"
scalaVersion := "2.10.5"
libraryDependencies ++= Seq(
("org.apache.spark" % "spark-core_2.10" % "1.3.1" % Provided)
.exclude("org.mortbay.jetty", "servlet-api").
exclude("commons-beanutils", "commons-beanutils-core").
exclude("commons-collections", "commons-collections").
exclude("commons-logging", "commons-logging").
exclude("com.esotericsoftware.minlog", "minlog").exclude("com.codahale.metrics", "metrics-core"),
"org.json4s" % "json4s-jackson_2.10" % "3.2.10" % Provided,
"com.google.inject" % "guice" % "4.0"
)
Project.inConfig(Test)(assemblySettings)
Setzen Sie all diese Sachen in die sbt-Datei und fügte mehr "exclude (...)" Klauseln, jar kann generiert werden und Testklassen sind auch in der Jar, aber ich fand "zur Verfügung gestellt" funktioniert nicht – Grant
"Bereitgestellt" wird nur benötigt, wenn Sie Ihre Funke-App über Spark-Submit senden. Wenn Sie Ihre Spark-App direkt ausführen, verwenden Sie nicht "bereitgestellt". –