【问题标题】:sbt assembly switch between provided dependenciessbt 程序集在提供的依赖项之间切换
【发布时间】:2017-04-08 11:35:53
【问题描述】:

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

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

【问题讨论】:

标签: java apache-spark sbt sbt-assembly


【解决方案1】:

如果在 main built.sbt 中排除 jars 使用的情况

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

【讨论】:

  • 但这仍然不排除 spark 的传递依赖,例如我遇到了 kryo 的问题 .. 我怎样才能排除 jar 的所有“传递”依赖项?
  • 我想添加 stackoverflow.com/questions/18838944/… 对于我的 spark 特定用例来说是一个更好的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-22
  • 2017-04-08
  • 2013-11-07
  • 2010-11-30
  • 2016-02-23
  • 1970-01-01
相关资源
最近更新 更多