【问题标题】:Build for different library versions with SBT使用 SBT 为不同的库版本构建
【发布时间】:2017-05-31 04:33:50
【问题描述】:

我正在尝试使用面向 相同 Scala 版本但不同版本库的 SBT 构建我的 Scala 源代码。我的问题是:

  1. SBT 是否支持此功能? (似乎不太可能)
  2. 如果没有,有没有办法在不过多弄乱构建脚本的情况下实现这一点?

详情: 我正在为具有不同版本的 Spark 和其他库的集群构建。在这种情况下,这似乎是一个常见的用户案例。

我发现的可能解决方案:

  1. 使用不同的 Scala 次要版本,然后通过交叉构建分派不同版本的库。非常老套。
  2. 对多个项目使用虚拟目录,将它们的源路径重定向到真正的源目录。这似乎最有希望,但我还没有尝试过。

【问题讨论】:

  • 我猜你从那以后没有得到更好的答案?

标签: scala apache-spark sbt


【解决方案1】:

No sbt 不支持这一点,但如果你想这样做,那么你可以使用阴影。 就像我想使用两个不同库支持的两个不同版本的番石榴,然后使用番石榴阴影:

    assemblyShadeRules in assembly := Seq(
     ShadeRule.rename("com.google.guava**" -> "shadeio.@1").inAll
    )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-24
    • 1970-01-01
    • 2018-12-06
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2018-08-30
    • 2021-05-28
    相关资源
    最近更新 更多