我運行Spark應用程序並想將測試類打包到胖罐中。奇怪的是我跑了「sbt大會」成功,但失敗時,我跑「sbt測試:大會」。我試過sbt-assembly : including test classes,它不適合我的情況。spark + sbt-assembly:「重複數據刪除:在以下內容中找到不同的文件內容」
SBT版本: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)
把所有這些東西在SBT文件,並增加了更多的「排除(......)」條款,可以生成JAR和測試類也都在罐子裏,但是我發現「提供的」不工作 – Grant
「提供」僅在您通過spark-submit提交您的Spark應用程序時才需要。如果您直接運行Spark應用程序,請勿使用「提供」。 –