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

How to exclude jar in final sbt assembly plugin

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

libraryDependencies ++= Seq("org.apache.spark" % "spark-core_2.11" % "2.0.1" % "provided")

并执行sbt assembly.

请帮我解决这个问题。

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

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"
    }
  }

我不认为||作品。而是使用:

assemblyExcludedJars in assembly := {

var cp = (fullClasspath in assembly).value

cp     = cp filter { f=>f.data.getName.contains("spark-core")}

cp     = cp filter { f=>f.data.getName.contains("spark-core_2.11-2.0.1.jar")

 }

}