如何在最终的 sbt 程序集插件中排除 jar

Joh*_*ohn 9 scala dependency-management sbt-assembly apache-spark

我需要从我的最终组装 jar 中排除 spark 和 test 依赖项。我尝试使用provider但它不起作用。

libraryDependencies ++= Seq("org.apache.spark" % "spark-core_2.11" % "2.0.1" % "provided")
Run Code Online (Sandbox Code Playgroud)

并执行sbt assembly

请帮我解决这个问题。

Fai*_*igB 9

通过直接名称或包含使用程序集插件过滤的排除选项

assemblyExcludedJars in assembly := {
    val cp = (fullClasspath in assembly).value
    cp filter { f =>
      f.data.getName.contains("spark-core") ||
      f.data.getName == "spark-core_2.11-2.0.1.jar"
    }
  }
Run Code Online (Sandbox Code Playgroud)