2017-01-16 101 views
3

我想用SBT构建我的Scala源代码相同 Scala版本但库的不同版本。我的问题是:为SBT构建不同的库版本

  1. SBT支持吗? (似乎不太可能)
  2. 如果没有,是否有办法实现这一点,而不会太多地混淆构建脚本?

详情: 我建立了与不同版本的Spark和其他库的集群。这似乎是这种情况下的常见用户案例。

可能的解决方案,我发现:

  1. 使用不同的Scala的小版本,然后派遣跨建筑不同的版本库。非常黑客。
  2. 将虚拟目录用于多个项目,将它们的源路径重定向到真实的源目录。这看起来最有前途,但我还没有尝试过。

回答

0

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

assemblyShadeRules in assembly := Seq(
    ShadeRule.rename("com.google.guava**" -> "[email protected]").inAll 
    ) 
相关问题