SBT组件在提供的依赖关系之间开关



我正在开发火花应用程序。要在本地测试它,我想运行sbt运行。这要求依赖关系在本地可用。但是我也想使用sbt assembly生成一个可以用于spark-submit的JAR,该Jar只能包括一些依赖项,例如不包括火花依赖。

当我将build.sbt中的依赖性标记为% "provided"时,不再可以通过sbt run

获得

如果将jars排除在主构建中的jars.sbt

excludedJars in assembly := {
  val cp = (fullClasspath in assembly).value
  cp filter {f =>
     f.data.getName.contains("spark"),
     f.data.getName.startsWith("jar_name")
  }
}

最新更新